pynotifyとdate.strptimeの複合バグ
バグの種類
pynotifyをimportしたコードで、datetime.strptimeで、文字列を解析すると発生するバグ。Junとかの月・曜日が該当する。
解決方法
localeの問題らしく、情報が中国語しか無かった。
http://hi.baidu.com/esbat/blog/item/b520232d748ac93f359bf742.html
中国語読めないが、下の解決法(とおぼしきコード)を読む限り、Localeの問題のようだ。
書かれているようにすれば良く、私は以下のようなメソッドを作って解決した
from datetime import datetime import locale def fixDatetimeStrptime(string, format): oldlocale = locale.getlocale(locale.LC_TIME) locale.setlocale(locale.LC_TIME, 'C') Datetime = datetime.strptime(string, format) locale.setlocale(locale.LC_TIME, oldlocale) return Datetime
実に面倒な話である。pynotifyが悪いのか、dateの問題なのかは知らないけど。
余談
これが解決したので、pynotifyでpopupするようなTerminatterがめでたく完成した。-pオプションで拙作Twit Notifierと同等の機能を提供する。