だまんです。

プログラミングや写真や本や読書会のことや、日常のこと。

はじめてpython書いた。

[広告]

はじめてpython書いた。public_timelineを取得してダンプするだけだけど。


GAEのキットを使った。これサーバ起動とかプロジェクト(「アプリケーション」)の設定ファイルとか、そういうの自動生成してくれるので便利だ。


ただ、例の'ascii' codec can't encode characterってエラーが出たり出なかったりしてよくわからない。
それに、なんだかよくわからずに書いてある「おまじない」部分がおおすぎてどうしようもない。「webapp」というのはGoogle謹製のウェブフレームワークなのだけど。WSGIってYAPC(Perlのカンファレンス)でも聞いたなーとかそんなレベルなんだもん、Pythonだけ勉強しても足りないわけです。


これをコピペして:
http://sites.google.com/site/2ca3/gae-pde-xmlwo-shutoku-shi-te-pasu


さらにGAEのガイドにあるhelloworldとか、あと自動生成されたデフォルトのコードもまじってる感じ。どうもなんか余計なことをたくさんしている気がしてならないんだけど、消すのもめんどくさいという。ドイヒー。よいこはまねしないように。

# vim:fileencoding=utf_8  

import sys
import codecs
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)


from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import webapp
from google.appengine.api import urlfetch

from xml.etree import ElementTree
import datetime

import twython
import simplejson as json

class MainHandler(webapp.RequestHandler):

  def get(self):
    self.response.headers['Content-Type'] = 'text/html'
    self.response.out.write('Hello world!')

    result = urlfetch.fetch('http://twitter.com/statuses/public_timeline.xml')
    if result.status_code == 200:
      xml = ElementTree.fromstring(result.content)
      for e in list(xml):
        self.response.out.write(e.findtext('./user/id'))
        self.response.out.write(e.findtext('./text'))
        self.response.out.write(datetime.datetime.strptime(e.findtext('./created_at'), '%a %b %d %H:%M:%S +0000 %Y')+datetime.timedelta(hours=9))
        self.response.out.write('<img src="' + e.findtext('./user/profile_image_url') + '" />')
        self.response.out.write(e.findtext('./user/screen_name'))
        self.response.out.write(e.findtext('./user/name'))

application = webapp.WSGIApplication([('/', MainHandler)],debug=True)

def main():
  run_wsgi_app(application)


if __name__ == '__main__':
  main()
Creative Commons License ©2007-2016 IIDA Munenori.