今夜から雨が続くようなので、昨日今日と草むしり。一畝だけでもマルチかけてるので労力がぜんぜん違うのと、今年はマメに除草しているので管理が楽だ。
ミニトマト(アイコ)

甘とう美人とピーマン

韓国唐辛子は一株しか植えてないので、沢山成って欲しいところ。

ゴーヤの花が咲いていた。ちなみに後ろ側から見ると既にゴーヤーらしきものが見えている(豆知識)。

今夜から雨が続くようなので、昨日今日と草むしり。一畝だけでもマルチかけてるので労力がぜんぜん違うのと、今年はマメに除草しているので管理が楽だ。
ミニトマト(アイコ)

甘とう美人とピーマン

韓国唐辛子は一株しか植えてないので、沢山成って欲しいところ。

ゴーヤの花が咲いていた。ちなみに後ろ側から見ると既にゴーヤーらしきものが見えている(豆知識)。

12062010 Python
参考
paste
def app(environ, start_response):
start_response('200 OK', [('content-type', 'text/html')])
return ['Hello world!']
if __name__ == '__main__':
from paste import httpserver
httpserver.serve(app, host='127.0.0.1', port='8080')
wsgiref
def app(environ, start_response):
start_response('200 OK', [('content-type', 'text/html')])
return ['Hello world!']
if __name__ == '__main__':
from wsgiref import simple_server
server = simple_server.make_server('', 8080, app)
server.serve_forever()
app関数は同じ。
11062010 sake
11062010 Python
Eggがよくわからんと少し調べてたら、Python plugins egg cooking mini-howto ってのがわかりやすかったので、デコレーターっぽいことをしてみた。
まず環境汚すのがいやだったのでvirtualenvでテスト環境をつくる。pylonsだとスクリプトでよろしくやってくれるのだけど、自分で作る場合にはvirtualenvwrapperを使うとよいらしい。
というか使ってみると便利すぎ。これは手放せん。
続いて実際に書いてみる。ディレクトリ構造はこんな感じ
$ ls -R deco
minus/ mydeco.py plus/
deco/minus:
minus_plugin/ setup.py
deco/minus/minus_plugin:
minus.py
deco/plus:
plus_plugin/ setup.py
deco/plus/plus_plugin:
plus.py
ポイントはsetup.pyのentry_pointsってとこで、呼び出す方は entry_pointsに選んだ名前をpkg_resources.iter_entry_points("xxxx")に指定して呼べばいい。
アーカイブはここに置いといた
mydeco.py
#!/usr/bin/env python
# -*- encoding:utf-8 -*-
import pkg_resources
for entrypoint in pkg_resources.iter_entry_points("my.plugins"):
plugin_class = entrypoint.load()
decorater = plugin_class()
print decorater.display("hello world!")
実行結果
$ python mydeco.py
++++++++++++++++
+ hello world! +
++++++++++++++++
----------------
| hello world! |
----------------
エキスパートPythonプログラミングの4,6章あたりでも触れられており、これも参考になった。
茄子を初収穫。3,4日放っておいたらでかくなってた。

いんげんの花も咲いていた。

09062010 music drum'n'bass
あらすじ
2010年春、しゃべるを職場に入れてみたところ、ちょっと後ろ向きな発言をする人たちに人気が出てしまい、ネガな雰囲気のただようブラックマイクロブログになりかけていた。
これじゃいかんということで、ポジな発言を紛れ込ませることにしたのであった。
しゃべるのAPIはtwitter互換なのでpython-twitterのハードコードされているurlをしゃべるのそれに変えてやればpythonモジュールがあっという間に出来上がり。ついでにshovel.pyってすればimport shovelで呼べる。
あとはfeedparserでtwitterのポジティブフィードを解析して、一日一回くらいイントラtwitterに注入すればいいわけだ。
import feedparser
import re,os
shuzo_tweet = re.compile("^(shuzo_matsuoka:\ @[^\ ]+ |shuzo_matsuoka:\ )")
d = feedparser.parse("http://twitter.com/statuses/user_timeline/63097969.rss")
stweet = [shuzo_tweet.sub('',e['title']) for e in d['entries']]
import shovel
api = shovel.Api(username='xxx', password='xxx')
users = api.GetFollowers()
followers = [u.screen_name for u in users]
for u,m in zip(followers,stweet):
message = "@%s %s" % (u,m)
api.PostUpdate(message)
これで、とりあえずフォロワーに熱いメッセージが送られるようになったが、そのうちちゃんとしたボットを作りたい。
とか前向きなreplyするやつ(謎)。
08062010 life
discoverにしてはやたらと読みづらい本だったなぁという感想くらいしか。
タイトルと内容があってないような気もするし。科学技術全体を俯瞰しているわけでもないし、オレオレ経済論だし。
というとこには共感出来た。
個人寄付は結局自分の支持の明確な表明だし、税金でばらまかれるものとは意味合いが大きく違うだろう。