2008年4月24日

Google App Engine / url fetch API



 先日のサンプルプログラムはあきらめ URL Fetch API用の別の以下のプログラム

 のサンプルは動作させることができた。


http://localhost:8080/flickr/

Flickr の API Key も http://www.flickr.com/services/から取得
いろいろな API http://www.flickr.com/services/api/ が用意
されている。

プロジェクトフォルダ以下のファイルリスト

│  app.yaml
│ flickr.html
│ flickr.py
│ index.yaml
│ webSimple.py
│ webSimple.pyc

└─elementtree
ElementInclude.py
ElementPath.py
ElementPath.pyc
ElementTree.py
ElementTree.pyc
HTMLTreeBuilder.py
SgmlopXMLTreeBuilder.py
SimpleXMLTreeBuilder.py
SimpleXMLTreeBuilder.pyc
SimpleXMLWriter.py
TidyHTMLTreeBuilder.py
TidyTools.py
XMLTreeBuilder.py
__init__.py
__init__.pyc

--
SDK102 にしたところ、下記のエラーで動作しなくなる

'photos' : res.parse_xml().find("photos").getchildren(),
AttributeError: 'NoneType' object has no attribute 'getchildren'

3 コメント:

kwin786 さんのコメント...

sdk 102 では以下のエラーで
動作しなくなった

'photos' : res.parse_xml().find("photos").getchildren(),
AttributeError: 'NoneType' object has no attribute 'getchildren'

niiyan さんのコメント...

私も 1.0.2 にしたら、urlfetch を使ってデータを取得できなくなりました。
下のページのパッチを適用したら、動作するようになりました。

Issue 341 - googleappengine - Google Code

kwin786 さんのコメント...

ありがとうございます。
無事、動作するようになりました。

SQL and GQL                                             TOP

is null from google.appengine.ext import db
r = db.GqlQuery ("SELECT * FROM model WHERE property=:1",None) # None is the python Null. / see
count(*) r.count()
like r = db.GqlQuery("SELECT * FROM model WHERE property >= :1 and property < :2 ", search_key, urllib.unquote(search_key).decode("utf8") + u"\uFFFD" )
update see
!=!= # see
dateyymm = '2008-05-10 22:22:22' # see ydate = datetime.datetime.strptime(yymm, '%Y-%m-%d %H:%M:%S')
日付検索 from datetime import *
import datetime
d1 = datetime.datetime.strptime('2008-06-01', '%Y-%m-%d')
d2 = d1 + timedelta(days=10)
r = db.GqlQuery("select * from model where date >=:1 and date <:2 ",d1,d2)
 for rr in r: print datetime.datetime.strftime(rr,'%Y-%m-%d %H:%M:%S')
Dates and Times
datastore viewer
http://localhost:8080/_ah/admin/datastore?kind=StockSum&order=-nikkei_max&order_type=float&num=100&start=0
referencesee (back-references), Many-to-many Join
key, key_name ,id Key names and IDs cannot be used like property values
× select * from Greeting where key = "xxxx"
× select * from Greeting where id = xxx
○ r = Greeting.get(db.Key.from_path('Greeting', id)) # or key_name
○ r = db.get("agpoZWxsb3dvcmxkcgsLEgRCbG9nGNQBDA")
key = r.key()
id = r.key().id()