Trac XML-RPC Plugin:票数

Posted

技术标签:

【中文标题】Trac XML-RPC Plugin:票数【英文标题】:Trac XML-RPC Plugin: the number of tickets 【发布时间】:2013-09-23 08:37:05 【问题描述】:

我可以使用 Trac XML-RPC 插件获取票证的数量,而不需要来自服务器的所有票证吗?

trac API 描述了参数“format=count”,但它对我不起作用... 我正在尝试运行以下代码:

import xmlrpclib
server = xmlrpclib.ServerProxy("https://user:password@trac-server/login/xmlrpc")
multicall = xmlrpclib.MultiCall(server)
for t in server.ticket.query('status=new&format=count&max=3'):
    print t

...但只获取票号,而不是票号。

我可以这么算:

import xmlrpclib
server = xmlrpclib.ServerProxy("https://user:password@trac-server/login/xmlrpc")
multicall = xmlrpclib.MultiCall(server)
print( server.ticket.query('max=0') )

...但我认为这不是一个非常理想的方式,因为这种方法会从服务器加载所有数据。

有没有一种方法可以在不需要完整列表和计数的情况下获得门票数量?

【问题讨论】:

【参考方案1】:

你只是有一个语义错误。使用逗号而不是 & 符将格式与查询条件分开。 max=3 参数在这里没有用处。然后您的查询将如下所示:

for t in server.ticket.query('status=new,format=count'):
    print t

结果只是一个数字,告诉在给定条件status=new 下的计数。通过与符号添加更多条款来更改条件,例如status=new&owner=joe.

【讨论】:

不,它不起作用。在我看来,trac 正在尝试应用过滤器 status='new,format=count' 或类似的东西。

以上是关于Trac XML-RPC Plugin:票数的主要内容,如果未能解决你的问题,请参考以下文章

XML-RPC远程方法调用

Python:XML-RPC介绍

从Minos部署系统谈谈XML-RPC

codeIgniter3 学习笔记九(XML-RPC)

XML-RPC 和 SOAP 有啥区别?

在 Cocoa 应用程序中使用 XML-RPC 的最佳方式?