0
0

使gtap与其它app脚本共存

vvoody 发表于 2010年02月11日 21:32 | Hits: 3847
Tag: GAE | API | birdnest | Google | gtap | Hack | operamini | opm | proxy | Python | Twitter

目的是想将Birdnest和opm-server-mirror合二为一。前者是Twitter的API proxy,后者是Opera Mini的代理,均基于Google App Engine(简称GAE)。一个GAE账户只能建10个app,分别在GAE上建这两个代理不免有些浪费。另一方面,多一个地址也不好记,我希望能够一个GAE app上面同时跑多个应用,记一个地址就行了,嘿嘿~

本文假设你会在GAE上建应用。
UPDATE 2010-09-03
gtap-0.4版的修改方法见:http://code.google.com/p/gtap/issues/detail?id=73

要把Birdnest和opm-server-mirror放在一个app里其实改动并不多。

  1. checkout birdnest
  2. svn co -r 97 http://birdnest.googlecode.com/svn/branches/gae birdnest_r97

    注意一定要r97的,因为作者最近更新过code.py了,导致”internal sever error”,可能是因为GAE不支持socket模块的原因。就是因为co的版本不对我白弄了好久。。。

  3. 下载opm-server-mirror的opm.py,放到birdnest的目录中,并作如下改动:
  4. --- opm.py	2010-02-11 21:06:12.577148400 +0800
    +++ opm (2).py	2010-02-11 13:04:15.739257800 +0800
    @@ -29,7 +29,7 @@
               self.response.out.write(result.content)
     
     application = webapp.WSGIApplication(
    -                                     [('/', MainPage)],
    +                                     [('/opm/', MainPage)],
                                          debug=True)
     
     def main():
  5. 更改birdnest的app.yaml:
  6. --- app.yaml	2010-02-11 20:56:34.778320300 +0800
    +++ app (2).yaml	2010-02-11 21:22:18.383789000 +0800
    @@ -12,6 +12,8 @@
       script: code.py
     - url: /image/.*
       script: code.py
    +- url: /opm/.*
    +  script: opm.py
     - url: /
       static_files: index.html
       upload: index.html

最后appcfg.py update birdnest_r97上传至GAE,好了。以后你给twitter客户端设api代理的时候就用 http://fckgfw.appspot.com/api/,给Opera Mini设代理则用 http://fckgfw.appsot.com/opm/ 。嗯,和谐了。

原文链接: http://vvoody.org/blog/?p=367

0     0

我要给这篇文章打分:

可以不填写评论, 而只是打分. 如果发表评论, 你可以给的分值是-5到+5, 否则, 你只能评-1, +1两种分数. 你的评论可能需要审核.

评价列表(0)