Trac XML-RPC插件:票数

时间:2013-09-23 08:37:06

标签: python rpc trac

我可以使用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 个答案:

答案 0 :(得分:0)

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

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

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