WikidotXML-RPCAPI的包装器

Whiffle的Python项目详细描述


====
whiffle
==


示例脚本是为重新建立父页和大批量更改标记而提供的。


api



installation
==


whiffle是一个普通的python包,保存在pypi存储库中。
可以使用*pip*或您选择的任何其他方法安装。如果
你知道我在说什么,那么你不需要我握住你的手。


然后手动安装whifle的最简单方法就是将所有文件提取到一个空文件夹中。发出命令
python setup.py install

bin文件夹中有一个框架,您可以使用它开始操作。


identity.ini文件
----

[default@wikidot]
此标题允许您拥有多个标识和站点。
在您想同时执行两项操作之前,请不要使用它。必须有
"@wikidot"和括号,但您可以更改名称("默认")。
用户:awikidotusername
这是对站点具有API访问权限的Wikidot用户名
密钥:xxxxxxxxxxxxxxxxxxxxxxxxxxxx
这是Wikidot用户的API密钥
站点:awikidotsitename
这是您正在处理的Wikidot站点。这只是
名称,而不是"http"或"wikidot.com"。


设置identity.ini文件后,请查看示例:
addtag.py和chparent.py位于安装文件夹的bin子文件夹中。这些可能是开始的最佳方式,并且可能都是您所需要的。


addtag.py
----


用法:addtag.py[options]page[tag]
从Wikidot页面添加或删除标记。

options:
-h,--help
显示此帮助消息并退出

-iidentity,--identity=identity
定义identity.ini文件中要使用的项的名称。
默认值为"默认"。

-r,--remove
删除指定的标记(默认操作是添加它)。


-f file,--file=file
定义一个文件,每行
包含<;page>;空格<;标记>;或仅包含<;page>;。如果<;tag>;未在任何行上指定,则使用在命令行上指定的标记。如果每行指定一个
标记,然后在命令行上不需要标记。

示例:
*addtag.py start fred
将标记"fred"添加到"start"页中。

*addtag.py-r start fred
从"start"页中删除标记"fred"。

*addtag.py语言:python good
添加标记"好"到页面"language:python"

*addtag.py-f myfile.txt defaulttag
假设myfile.txt文件包含:
start fred
stop
将标记"fred"添加到页面"start"并将标记"defaulttag"添加到页面"stop"。

如果文件的每一行都指定了标记,则不必在命令行上指定标记。


chparent.py
——


用法:chparent.py[options]parent child
更改页的父级

options:
-h,--help
显示此帮助消息并退出
-i identity,--identity=identity
定义要使用的identity.ini文件中的项的名称。
默认值为"默认值"。
-f file,--file=file
定义文件的名称,每行ICH包含
<;父>;空间<;子>;。如果指定了此选项,则不应在命令行上给出父项和子项。


示例:

*chparent start help
使页"start"成为页"help"的父项


*chparent-f myfile.txt
假定文件myfile.txt包含:
开始帮助
帮助帮助:如何编辑
使页面"开始"成为页面"帮助"的父级,并使页面"帮助"成为页面"帮助"的父级







程序应该包括以下内容:
从中导入wikidotapi,apierro,semanticerror

api=wikidotapi.connection(identity)


这是skeleton identity.ini文件中使用的标识。

然后可以对"api"对象的方法进行调用。有关语法,请参见
示例代码。

page_is_valid(name)
----
如果名称是有效的页名称,则返回true。验证只针对
防止创建无法删除的页面,并且
不尝试复制Wikidot规则。


category_is_valid(name)
---------
如果名称是有效的类别名称,则返回true。验证只针对
防止创建无法删除的页,并且
不尝试复制Wikidot规则。


site_is_valid(name)
----
如果名称是有效的页名,则返回true。验证仅是基本的,
,不尝试复制Wikidot规则。

站点
----
当前站点的名称。默认值是在
identity.ini文件中找到的。可以将站点分配给,以便在同一应用程序中处理多个
站点::
dosomething()
api.site="newsite"
dosomething()

pages
----
页面名称列表。此列表在第一次使用
页时更新,然后使用缓存副本。要刷新缓存,请调用
"refresh_pages()"

此列表的内容是页面返回的内容。请选择API调用。

类别
——
字典列表,每个字典都描述一个类别。此列表在第一次使用类别时更新,之后使用缓存副本。要刷新缓存,请调用"refresh_categories()"


此列表的内容是由类别返回的。请选择API
调用。

页面存在(页面,category="_default")
----------
如果页面已经存在(根据页面缓存),则返回true。
页面名称可以指定为"category:page"或页面名称
,并且可以单独指定类别。


get_page_item(page,item,category="\u default")
——页面名称可以指定为"category:page"或页面名称
,并且可以单独指定类别。


item参数是包含字典键的字符串。有效键
是指页面返回的键。获取一个API方法。


set_page_item(page,item,value,create=false,category="u default")
---------------------------
设置给定页面上给定键的基准。页面名称可以指定为"category:page",或者页面名称和类别可以分别指定。



item参数是包含字典键的字符串。有效键
是由pages.save-one api方法获取的键,值参数
必须是该项的有效值。

如果create参数为true,则此调用可能会创建一个新的
(probably空白)页。否则,如果
页面不存在(根据页面缓存),此调用将引发异常。


页面名称可以指定为"category:page",或者页面名称和类别可以分别指定。


否则,如果标记已经在页面上,则会引发异常。


remove_tag(page,tag,category="\u default",errorifrendundant=true)
——页面名称可以指定为"category:page",或者页面名称和类别可以分别指定。


否则,如果标记不在页面上,将引发异常。


server
----
api服务器代理。这可用于进行API调用:
api.server.site.categories({"site":self.site})
当然,如果您通过此对象进行调用,则whiffle不会进行任何验证检查;您是自己进行的。

--
API对象引发的异常。大多数异常都属于这种类型,除了…


SemanticerRor
----
由于向只读对象写入ATEMPT而由API对象引发的异常。






==

从whifle import wikidotapi

api=wikidotapi.connection()
api.set_page_item("hello","content","hello world"**"*",create=true)


粗体显示。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用McClickListener单击了什么元素   Java时间戳在Oracle时间戳中不同情况下存储12 PM的奇怪行为   java无法使用事件总线对运行在不同机器上的垂直体进行通信   java Mockserver:收到请求后进行回调   java无法将Json字符串转换为Map<string,Object>   java如何按升序排列输出?   java视图行,带有oracle键。jbo。在SrCategoryParentIterator中找不到键[300100120394155]   javafxmysql连接示例   java正在等待加载完成   java是否可以将同一个有状态会话bean实例注入多个其他会话bean?   java无法让万向节检测离开或进入区域   使用JavaCV和OpenCV的java提供了dyld:lazy符号绑定失败:找不到符号:__sincos_stret   xml解析无法使用Java读取xml文档   java无法更改工具栏的颜色   javaapachesshd和JSCH   java无法在firebase存储中检索图像url   java问题与executeUpdate   同一应用程序中不同活动之间的java SharedReference