def test_entry(self): e = Entry(title=u"タイトル", count=10, url="http://hoge.com", entry_url="http://b.hatena.ne.jp/hoge", eid=1) e.put() # get_entry e2 = Entry(title=u"タイトル2", count=7, url="http://fuga.com", entry_url="http://b.hatena.ne.jp/fuga", eid=2) e2.put() es = Entry.all().fetch(100) self.assertEquals(len(es), 2) e_ = Entry.get_entry("http://fuga.com") self.assertEquals(e_.title, u"タイトル2") self.assertEquals(e_.count, 7) self.assertEquals(e_.url, "http://fuga.com") self.assertEquals(e_.entry_url, "http://b.hatena.ne.jp/fuga") self.assertEquals(e_.eid, 2) # add_entry e3 = Entry.add_entry( title=u"htbタイトル", count=3, url="http://example.jp", entry_url="http://entry_url.com", eid=3 ) es_ = Entry.all().fetch(100) self.assertEquals(len(es_), 3) self.assertEquals(es_[2].url, "http://example.jp") e3_ = Entry.add_entry( title=u"hogehoge", count=10, url="http://iiiexample.jp", entry_url="http://kkkentry_url.com", eid=3 ) self.assertEquals(e3_, None) # add_or_update_entry e3__ = Entry.add_or_update_entry( title=u"hogehoge", count=10, url="http://iiiexample.jp", entry_url="http://kkkentry_url.com", eid=6 ) # get_hatebu_api htb = Entry.get_hatebu_api("http://developer.hatena.ne.jp/ja/documents/bookmark/apis/getinfo") self.assert_(htb) # get_entry e4 = Entry.get_entry("http://hoge.com") self.assertEquals(e4.title, u"タイトル") e5 = Entry.get_entry("http://developer.hatena.ne.jp/ja/documents/bookmark/apis/getinfo") self.assertEquals(e5.title, u"はてなブックマークエントリー情報取得API - Hatena Developer Center")
def entry_get(request): u"""はてなブックマークデータをAPIから取得してdatastoreに保存する """ logging.debug(inspect.currentframe().f_lineno) url = request.args['url'] htb = Entry.get_hatebu_api(url) e = Entry.add_entry( url = htb['url'], entry_url = htb['entry_url'], eid = int(htb['eid']), title = htb['title'], count = int(htb['count']), screenshot = htb['screenshot'], bookmarks = htb['bookmarks'], ) if not e: return Response('entry add error :' + str(inspect.currentframe().f_lineno)) return Response(e.url)