You are not logged in. This forum allows only logged in users to post. If you want to post in the forum, please log in.
Download
Desenvolver
Conta
Download
Desenvolver
Login
Forgot Account/Password
Criar Conta
Linguagem
Ajuda
Linguagem
Ajuda
×
Login
Nome de acesso
Senha
×
Forgot Account/Password
Estado tradução de Português
Category:
Software
People
PersonalForge
Magazine
Wiki
Pesquisa
OSDN
>
Pesquisar Software
>
Software Development
>
Build Tools
>
Trac Lightning
>
Fóruns
>
Ajuda
>
xmlrpc(JSON-rpc)でのdatetime.iso8601の指定方法
Trac Lightning
Fork
traclightning
traclightning-4.x
Descrição
Project Summary
Developer Dashboard
Página da Web
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
Histórico
Downloads
List of Releases
Stats
Código Fonte
Code Repository list
Subversion
Visualizar Repositório
Mercurial
traclightning
traclightning-4.x
Tíquete
Ticket List
Milestone List
Type List
Lista de componentes
List of frequently used tickets/RSS
Submit New Ticket
Documents
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
List Docs
Communication
Fóruns
List of Forums
Ajuda (241)
Open Discussion (15)
Mailing Lists
list of ML
News
Fóruns:
Ajuda
(Thread #32419)
Return to Thread list
RSS
xmlrpc(JSON-rpc)でのdatetime.iso8601の指定方法 (2012-07-01 22:00 by
ichirom
#64427)
ichiromと申します。
かねてからTrac Lightningを利用させて頂いています。
知識があまり無いながらも、xmlrpc(JSON-rpc)を利用して、チケットの状況確認を行うjava scriptを作成しているのですが、ticket.getRecentChanges()のdateTime.iso8601 sinceの指定方法がよく分からないので、ご教授頂けないでしょうか。
現状は、下記のような要求本文をPOSTしているのですが、
{"method":"ticket.getRecentChanges","params":["20120101T10:00:00"],"id":[99]}
下記のような応答本文が返ってきてしまいます。
{"error": {"message": "ServiceException details : unsupported operand type(s) for -: 'unicode' and 'datetime.datetime'", "code": -32603, "name": "JSONRPCError"}, "result": null, "id": [99]}
pythonが読めないので推測ですが、どうもsinceの指定がdatetime型として認識されず、"datefmt.py"のto_utimestamp()でエラーになっているようなのですが。
色々調べてみましたが、解答にたどり着けずにいます(もし、既出のヘルプ内容でしたら申し訳ありません)。
試しに、sinceを空にしてみると、すべてのチケット番号が返ってきたので、sinceの指定方法の誤りだと考えています。
よろしくお願いいたします。
RE: xmlrpc(JSON-rpc)でのdatetime.iso8601の指定方法 (2012-07-01 22:56 by
jun66j5
#64429)
> 現状は、下記のような要求本文をPOSTしているのですが、
> {"method":"ticket.getRecentChanges","params":["20120101T10:00:00"],"id":[99]}
この渡し方の場合、受け取るほうはもらったパラメータが string であると判断します。JSON-RPC として datetime だと判らせる必要があります。
具体的には以下のようにしてください。
{
"method":"ticket.getRecentChanges",
"params":[
{"__jsonclass__": ["datetime", "2012-01-01T10:00:00"]}
],
"id": 42
}
この datetime に対する指定方法は
http://localhost/trac/SampleProject/jsonrpc#JSON-RPC
の
> Implementation details:
> JSON-RPC has no formalized type system, so a class-hint system is used for input and output of non-standard types
というところに書かれています。
また id の値は配列ではなく単に数値を指定します。
Responder a
#64427
RE: xmlrpc(JSON-rpc)でのdatetime.iso8601の指定方法 (2012-07-03 21:42 by
ichirom
#64457)
Jun Omae様
ichiromです。
迅速な対応ありがとうございます。
教えて頂いた通りの指定でうまくいきました!!
JSON-RPCのImplemetation detailsを見逃していた上に、
よく考えると、既にticket.getで同様の応答文を処理していました。
ただ、自分ではそこに気が付けなかった&よく理解できていなかったので、
質問させて頂いて&ご回答頂けて非常に助かりました。
これでまた、楽しくTracが利用できそうです。
ありがとうございました。
Responder a
#64427