さわだのノート

書籍のお仕事に役立つかもしれない思いつきを記録しています。

RSS: 記事の更新情報 Rss Feed

住所から郵便番号を探し当てるVimScript

Pythonで書いてみた。
ロケタッチの住所正規化APIがすごい便利です。
MacVimでPython 3インターフェースがうまく動いてくれないのは何でなんだろ。

function! Get_zipcode(arg)
python << EOF
import vim
request_address = vim.eval('a:arg')

from urllib import urlencode
from urllib2 import urlopen
base_url = "https://api.loctouch.com/v1/geo/address_normalize?"
query = base_url + urlencode({"address":request_address,})
res = urlopen(query)

import json
js = json.loads(res.read())
zip_code = js["result"]["zip"]

if zip_code:
    print("郵便番号: {0}-{1}".format(zip_code[0:3], zip_code[3:7]))
else:
    print("クエリに該当する郵便番号はありません")
EOF
endfunction
command! -nargs=1 GetZipCode :call Get_zipcode(<f-args>)