Пример #1
0
    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")
Пример #2
0
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)