Python2.5新機能ピックアップ (3) : xmlrpclibがdatetimeオブジェクトサポート
 2006.10.11

独断と主観で選んだPython2.5の新機能の紹介シリーズ(3).xmlrpclibモジュールで扱う時刻データがdatetimeオブジェクトになる. xmlrpclibを使って,メソッドを実行した結果に時刻を表すデータがあった場合,従来はxmlrplib.DateTimeという専用の時刻型でした.Python2.5からは,Python標準の時刻を表すdatetimeモジュールのdatetimeオブジェクトとして受け取れるようになりました. xmlrpclib.DateTimeのデータも結局 datetimeなりmx.DateTimeなりで時刻専用のデータに変換して使うことが多かったのでこれは,意外とウレシイ. 以下に例を示します.ServerProxyのコンストラクタに use_datetime=True を付けるとdatetimeオブジェクトになります. 付けないと今までと一緒.
>>> import xmlrpclib
>>> sv0 = xmlrpclib.ServerProxy('http://time.xmlrpc.com/RPC2')
>>> sv0.currentTime.getCurrentTime()
<DateTime '20061011T11:01:17' at 4031dbec>
>>> sv1 = xmlrpclib.ServerProxy('http://time.xmlrpc.com/RPC2', use_datetime=True)
>>> sv1.currentTime.getCurrentTime()
datetime.datetime(2006, 10, 11, 11, 1, 31)
>>>
カテゴリー:python&zope