hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。
11/05/2005 うーん [長年日記]
tDiary 1108日目
■ [Py][戯言] HostIP とか mimetools とか RFC とか
import urllib import mimetools class HostIP(dict): _URL_BASE = 'http://api.hostip.info/rough.php?position=true&ip=%s' _GOOGLEMAPS_BASE = 'http://maps.google.com/?q=%sN+%sE(%s)' def __init__(self, ipaddr): url = self._URL_BASE % ipaddr # fp = urllib.urlopen(url) headers = mimetools.Message(fp, 0) fp.close() # dict.__init__(self, headers.dict) self['ipaddr'] = ipaddr self['url'] = url self['googlemaps'] = self._GOOGLEMAPS_BASE % (self['latitude'], self['longitude'], ipaddr)
で
>>> test = HostIP('210.156.41.55') >>> for k, v in test.items(): ... print '%s: %s' % (k, v) ... city: Morioka guessed: true url: http://api.hostip.info/rough.php?position=true&ip=210.156.41.55 googlemaps: http://maps.google.com/?q=39.7N+141.15E(210.156.41.55) latitude: 39.7 country: JAPAN ipaddr: 210.156.41.55 country code: JP longitude: 141.15
一応うまく行くには行くんだがね.
mimetools は 2.3 以降で撤廃 (互換としては残る) らしい.email.Parser.HeaderParser を使うと,こいつは RFC2822 に完璧に準拠してるらしく,ヘッダフィールド名に空白が混じるとダメなんで Country Code が取れなくなる.てか mimetools.Message が RFC に完全準拠してないのがおもろい.利便性を取ったのかな.
しかしやっぱ横着せずに XML の方を解析すんのが正統派なんかなー.めんどくせ.
てか
このサーバ岩手公園内にあるのかよ(わら
でもいいところまでいってる.
g-cpanは便利って言えば、便利。
中で何がどーなっているかはまったくわかりませんけど(笑)
いやー,中が全く分からないのは Perl だかうわなにをするやめrくぁwせdrftgyふじこ
atzmさん、なんか変な薬やりました?(w
g-ctan も作ったんですけどねえー
うーん強いて挙げれば百薬の長と呼ばれる妙薬ですかねぇ ;)
てか CTAN はいいですねえ.バリバリの TeX 使いには嬉しいですよきっと.
ぐーぐる先生のローカルは、なかなか素敵。とっ都庁周辺がぁぁぁ!ほんぎゃdじゃせdrffgyふじこ
コンビニだらけですな.