Google App Engineが楽しい。ちょっと忙しいということもあって、まだほとんど触っていないんだけど、それでも簡単なお遊びウェブアプリを作ってみた。作るというのがおこがましいような落書きだけど。で、起動するとPython: ワンライナーでマンデルブロ集合を描くのページの文章をネコっぽくして、画像もネコの画像に置き換える。

以下に示すように、ソースコード(kitten.py)はいたってシンプル。アイデアさえあれば、大抵のことはできそうだ。まだアカウントがないので稼働できないけど。早く欲しいなぁ。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import re
import wsgiref.handlers
from google.appengine.api import urlfetch
from google.appengine.ext import webapp
class MainPage(webapp.RequestHandler):
def get(self):
result = urlfetch.fetch("http://handasse.blogspot.com/2008/04/python.html")
if result.status_code == 200:
content = re.sub("。|\。", "にゃ。", result.content)
content = re.sub("な", "にゃ", content)
img_list = re.findall('<img (?:.*)src="([a-zA-Z0-9\-/.:_]+)"', content)
for img in img_list: content = re.sub(img, "images/kitten.jpg", content)
self.response.out.write(content)
def main():
application = webapp.WSGIApplication([('/', MainPage)])
wsgiref.handlers.CGIHandler().run(application)
if __name__ == "__main__": main()
ここのブログはなぜか句点が文字参照なので置換処理に変なコードが含まれているけど気にせずに。app.yamlや使用した画像ファイルなどはあまり意味がないので割愛。
追記:
app.yamlと画像ファイルを割愛したけど、Google App Engineですぐ結果を見たい人のために、やっぱり示しておく。app.yamlの中身は以下の通り。
application: kitten
version: 1
runtime: python
api_version: 1
handlers:
- url: /images/(.*)
static_files: static/images/\1
upload: static/images/(.*)
- url: .*
script: kitten.py
dev_appserver.pyを実行するディレクトリに、kittenというディレクトリを作り、そこにkitten.pyとともに置く。画像ファイルはEyesPicの子猫 - フリー画像素材の画像を、
python -c "import Image; Image.open('eyes0422.jpg').resize((256, 184)).save('kitten.jpg')"
で256x184にリサイズした(kitten.jpg)。画像ファイルはkitten/static/images/に置くこと。
あとは、
dev_appserver.py kitten
と実行し、http://localhost:8080/にアクセスするだけ。
URLをスラッシュドット・ジャパンやGIGAGINEなどに変更して試したりもしたけど、それなりに面白かった。
2008年4月10日
Google App Engineでネコ化計画
登録:
コメントの投稿 (Atom)

0 コメント:
コメントを投稿