2009年09月27日気がついたら1年以上経っていた
■ [Misc.]ひさびさに
Ninomyです。はてなでものを書くのは久しぶりです。気がついたら1年以上あいていました。
まあこの間、実生活でもネットでもいろいろありましたが、たまーにこっちでもものを書くかもしれないし、そうでもないかもしれません。あまり頻繁な更新は期待できませんがいちおういろいろやってます。
■ [programming]twitterでウィキ記法
Twitterでfollowしている人が、
「[[hogehoge]]でリンクできるといいなあ」
というような趣旨のことを言っていたので、プログラミングの練習がてら書いてみました。
Pythonで書かれています。PerlやRubyでも同じようなものが作れるはずです。
また、これを動かすにはPython-Twitterモジュールとsimplejsonモジュールが必要です。
# -*- coding: utf-8 -*- import twitter import re import urllib, urllib2 import sys import simplejson apiurl = 'http://api.bit.ly/shorten?version=2.0.1&longUrl=%s&login=hogehoge&apiKey=foobar' # hogehoge, foobar は自分で取得したアカウントとAPIキーを入力する。 def bitly(url): url_data = urllib2.urlopen(apiurl % urllib.quote(url)).read() url_info = simplejson.loads(url_data) return str(url_info["results"][url]['shortUrl']) def is_even(n): if n % 2 == 0: return True else: return False def main(msg): api = twitter.Api('hogehoge', 'password') #自分のTwitterアカウントとパスワード if re.match('^.*\[\[.*\]\].*$', msg): list = re.split('\[\[|\]\]', msg) i = 0 msg = '' for elem in list: if is_even(i): pass else: dec = urllib.quote(elem.encode('utf-8')) url = 'http://ja.wikipedia.org/wiki/' + dec surl = bitly(url) elem = '[[' + elem + ']] (' + surl + ')' i = i + 1 msg = msg + elem api.PostUpdate(msg.encode('utf-8')) if __name__ == '__main__': main(sys.argv[1].decode('sjis').encode('utf-8'))
A2009/09/28 08:03二ノ宮耕一の子分さんこんにちわ。福井利器971番とは上手くやってますか?