Ejabberd XML-RPC管理API的Python客户端
ejabberdctl.p的Python项目详细描述
自述文件
ejabberdctl.py为ejabberd xml-rpc管理api提供python客户端。
安装
pip install ejabberdctl.py
git clone https://gitlab.com/markuz/ejabberdctl.py.git ejabberdctlpy cd ejabberdctlpy python setup.py install
使用量
显示ejabberd状态的简单示例 (假设XML-RPC在127.0.0.1和端口4560上运行):
from ejabberdctl import ejabberdctl host = 'example.com' username = 'admin' password = 'admin' ejabberdctl = ejabberdctl(host, username, password) print ejabberdctl.status()
XML-RPC主机自定义设置的相同示例:
from ejabberdctl import ejabberdctl host = 'example.com' username = 'admin' password = 'admin' ejabberdctl = ejabberdctl(host, username, password, protocol='https', server='example.com', port=4560, admin=True, verbose=True) print ejabberdctl.status()
主机与服务器
主机是Ejabberd服务的域 (例如,您的主机之一在ejabberd.yml中定义)。
server是Ejabberd运行XML-RPC模块的服务器IP。 通常,它配置为在端口4560上的127.0.0.1(localhost)上运行。
测试
from ejabberdctl.tests import ejabberdctl_tests SERVER = 'example.com' USERNAME = 'admin' PASSWORD = 'admin' tests = ejabberdctl_tests(SERVER, USERNAME, PASSWORD) tests.run_all()
覆盖范围
ejabberdctl.py中Ejabberd XML-RPC管理API命令的数目:
egrep "def " ejabberdctl.py|grep -v "def __init__\|def ctl"|wc -l 126
实施
执行的命令数:
egrep "def " ejabberdctl.py|grep -v "def __init__\|def ctl\|TODO"|wc -l 72
要实现的命令数:
egrep "def " ejabberdctl.py|grep -v "def __init__\|def ctl"|grep TODO|wc -l 54
测试
测试套件中的测试数:
egrep "def " tests.py|grep -v "def __init__\|def run_all\|TODO"|wc -l 31
要执行的测试数:
egrep "def " tests.py|grep -v "def __init__\|def run_all"|grep TODO|wc -l 95
贡献
如果您希望帮助完成该项目,请参见todo.txt以获取需要执行的任务列表
变更日志
v0.2
- 已更改构造函数-主机现在是服务器,服务器现在是主机 也就是说,术语与这些输入的含义是一致的。 另请参见自述文件;主机与服务器信息
v0.1
- 初始版本