Posts Tagged ‘AppEngine’

[App Engine] Google App Engine 10个应用的限制

Tuesday, January 12th, 2010

Google App Engine默认是容许用户最多创建10个应用,如果你已经用完了10个怎么办?

Chinese 方式:申请更多的Google Account,为每个账户申请GAE。
American 方式:到邮件列表发个Email,说明自己的情况,请Google Support来处理。

今天在邮件列表里面见到一封这样的信,Google的Support人员在2天后为他增加了10个应用的限制。

[Google AppEngine] 中使用Flex实现Google Account SignIn/SignOut

Monday, January 4th, 2010

在AppEngine中可以使用Google Account实现认证。如果使用Flex Application作为UI,使用按钮实现Sign In/Sign Out需要把URL通过HTML页面的FlashVars传递到Flex Application中。但是这个URL的值是几个HTTP地址经过&符号拼接而成,在Flex里通过FlexGlobals.topLevelApplication.parameters读取的时候只能读取第一个&符号前的地址。所以这个URL需要在Python代码里面进行URL encode,在Flex Application中URL decode。

Python代码:

    def get (self):
        user = users.get_current_user()
        #Check login user
        if user:
            sign = urllib2.quote(users.create_logout_url('/openparty'))
        else:
            sign = urllib2.quote(users.create_login_url('/openparty'))
        #Init template vars
        template_values = {
            'sign' : sign,
        }

Flex代码:

  var url : String = decodeURI(FlexGlobals.topLevelApplication.parameters['sign']);

[Google AppEngine] app.yaml的skip_files

Sunday, January 3rd, 2010

app.yaml的skip_files项通过设置正则表达式,设置在Upload过程中不被上传到AppEngine的文件和文件夹。 这个skip_files有默认值:

skip_files: |
 ^(.*/)?(
 (app\.yaml)|
 (app\.yml)|
 (index\.yaml)|
 (index\.yml)|
 (#.*#)|
 (.*~)|
 (.*\.py[co])|
 (.*/RCS/.*)|
 (\..*)|
 )$

如果需要修改默认值,需要在app.yaml中重写skip_files的值。下面的例子加入了.bak和.DS_Store在排除的文件中:

skip_files:
- ^(.*/)?app\.yaml
- ^(.*/)?app\.yml
- ^(.*/)?index\.yaml
- ^(.*/)?index\.yml
- ^(.*/)?#.*#
- ^(.*/)?.*~
- ^(.*/)?.*\.py[co]
- ^(.*/)?.*/RCS/.*
- ^(.*/)?\..*
- ^(.*/)?.*\.bak$
- ^(.*/)?.DS_Store

这个写法跟AppEngine刚刚发布的时候不一样,不清楚是在哪个版本更新中进行了修改。AppEngine的新版本不断的发布,不知道最后的版本会带来什么功能。

介绍一个名为Picky的AppEngine项目,是@livid开发的基于AppEngine的博客应用。源代码在:http://code.google.com/p/project-picky

[Google AppEngine] Launcher在Snow Leopard上修改Python路径

Saturday, November 7th, 2009

Google AppEngine是在Python 2.5的环境下运行的,Snow Leopard已经把Python环境升级到2.6了,所以运行Google AppEngine Launcher要修改一下Python的环境变量。

用Finder打开当前用户目录下的Library/Preferences目录,双击com.google.GoogleAppEngineLauncher.plist文件,会自动调用系统Property List Editor打开文件。

增加一个新的Key,名字叫做Python,Type是String类型,Value是/usr/bin/python2.5。保存退出后打开Google AppEngine Launcher,启动一个app后,可以在Log Console里面见到:

Python command: /usr/bin/python2.5