{ "version": "https://jsonfeed.org/version/1", "title": "Project Picky", "description": "\u4e00\u4e2a\u5728 Google App Engine \u4e0a\u7684\u4e66\u5199\u5de5\u5177", "home_page_url": "go/picky", "feed_url": "feed/picky.json", "icon": "https://cdn.v2ex.com/navatar/33e7/5ff0/28_large.png?m=1427912325", "favicon": "https://cdn.v2ex.com/navatar/33e7/5ff0/28_normal.png?m=1427912325", "items": [ { "author": { "url": "member/lilongn1", "name": "lilongn1", "avatar": "https://cdn.v2ex.com/avatar/8cc3/3ea3/137995_large.png?m=1474072228" }, "url": "t/222331", "title": "\u6709\u6ca1\u6709\u5f00\u6e90\u7684 P2P \u7f51\u8d37\u7cfb\u7edf", "id": "t/222331", "date_published": "2015-09-21T01:32:10+00:00", "content_html": "

\u5c0f\u5f1f\u60f3\u8bf7\u6559\u4e0b\u5404\u4f4d\u6280\u672f\u8fbe\u4eba\uff0c\u73b0\u5728\u6709\u6ca1\u6709\u5f00\u6e90\u7684 P2P \u7f51\u8d37\u7cfb\u7edf\u5b9e\u73b0\uff0c\u6216\u8005\u662f\u5e38\u7528\u7684\u5b9e\u73b0\u6846\u67b6\u548c\u76f8\u5173\u7684\u8d44\u6599\uff1f

\n" }, { "author": { "url": "member/cute", "name": "cute", "avatar": "https://cdn.v2ex.com/avatar/7ba9/f981/18402_large.png?m=1335116855" }, "url": "t/30581", "date_modified": "2012-04-22T17:52:03+00:00", "content_html": "
https://github.com/cute/picky\r\n
\r\n
\u8bf7\u5728\u540e\u53f0\u8bbe\u7f6e\uff1a\r\n
\r\n
Consumer Key\r\n
Consumer Secret\r\n
Access Token Key\r\n
Access Token Secret", "date_published": "2012-03-26T04:48:39+00:00", "title": "Upgrade Twitter API", "id": "t/30581" }, { "author": { "url": "member/cute", "name": "cute", "avatar": "https://cdn.v2ex.com/avatar/7ba9/f981/18402_large.png?m=1335116855" }, "url": "t/30052", "date_modified": "2012-04-22T15:31:47+00:00", "content_html": "GAE datastore\u52a8\u4e0d\u52a8\u5c31\u8d85\u51fa\u9650\u5236\u4e86", "date_published": "2012-03-19T09:32:12+00:00", "title": "\u53ef\u4ee5\u5c06Project Picky\u6539\u4e3aGoogle Cloud SQL\u4f5c\u4e3a\u6570\u636e\u5b58\u50a8", "id": "t/30052" }, { "author": { "url": "member/ehaagwlke", "name": "ehaagwlke", "avatar": "https://cdn.v2ex.com/avatar/dd10/16d6/4231_large.png?m=1605779633" }, "url": "t/23470", "date_modified": "2012-04-22T14:07:11+00:00", "content_html": "@livid\r\n
\u4ee5\u4e0b\u662f\u663e\u793a\u7684\u9519\u8bef\u4ee3\u7801\uff1a\r\n
\r\n
Traceback (most recent call last):\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 701, in __call__\r\n
handler.get(*groups)\r\n
File "/base/data/home/apps/v2ex-picky/1.348047412410862284/main.py", line 60, in get\r\n
template_values['articles_total'] = articles.count()\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 2060, in count\r\n
result = raw_query.Count(limit=limit, **kwargs)\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 1640, in Count\r\n
batch = self.GetBatcher(cOnfig=config).next()\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_query.py", line 2525, in next\r\n
return self.next_batch(self.AT_LEAST_ONE)\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_query.py", line 2562, in next_batch\r\n
batch = self.__next_batch.get_result()\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 592, in get_result\r\n
return self.__get_result_hook(self)\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_query.py", line 2317, in __query_result_hook\r\n
self._conn.check_rpc_success(rpc)\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 1182, in check_rpc_success\r\n
rpc.check_success()\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 558, in check_success\r\n
self.__rpc.CheckSuccess()\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_rpc.py", line 133, in CheckSuccess\r\n
raise self.exception\r\n
OverQuotaError: The API call datastore_v3.RunQuery() required more quota than is available.", "date_published": "2011-12-14T03:30:44+00:00", "title": "Picky.olivida.com\u8bbf\u95ee\u4e0d\u4e86\u4e86", "id": "t/23470" }, { "author": { "url": "member/Feuda", "name": "Feuda", "avatar": "https://cdn.v2ex.com/avatar/a981/f2b7/1625_large.png?m=1605193999" }, "url": "t/17434", "date_modified": "2012-04-21T20:33:31+00:00", "content_html": "\u524d\u4e9b\u5929\u4e0d\u5c0f\u5fc3\u5c06\u8001\u7248\u672c\u7684\u672c\u5730\u6587\u4ef6\u7ed9\u5220\u4e86\uff0c\u4e0b\u4e86\u51e0\u4e2a\u6062\u590d\u6570\u636e\u7684\u8f6f\u4ef6\u90fd\u6ca1\u6709\u53d6\u4f5c\u7528\uff0c\u73b0\u5728\u60f3\u90e8\u7f72\u6700\u7248\u672c\u7684project picky \u4e86\uff0c\u8bf7\u95ee\u5927\u5bb6\uff0c\u662f\u9700\u8981\u50cf\u7b2c\u4e00\u6b21\u90a3\u6837\uff0c\u6539\u5f88\u591a\u6587\u4ef6\u5417\uff0c\u66f4\u65b0\u540e\u4f1a\u4ea7\u751f\u4ec0\u4e48\u5f71\u54cd\uff0c\u4e3b\u9898\u88ab\u6211\u6539\u8fc7\uff0c\u4f30\u8ba1\u66f4\u65b0\u540e\u4e22\u662f\u5fc5\u987b\u7684\uff0c\u8bf7\u6709\u7ecf\u9a8c\u7684\u540c\u5b66\u8bf4\u8bf4\u5457", "date_published": "2011-08-28T09:12:03+00:00", "title": "\u5173\u4e8e\u66f4\u65b0picky blog\u7248\u672c\u7684\u95ee\u9898", "id": "t/17434" }, { "author": { "url": "member/ehaagwlke", "name": "ehaagwlke", "avatar": "https://cdn.v2ex.com/avatar/dd10/16d6/4231_large.png?m=1605779633" }, "url": "t/15554", "date_modified": "2012-04-22T13:34:03+00:00", "content_html": "\u81ea\u5df1\u7528Picky\u642d\u4e86\u4e2a\u7ad9\u5e76\u505a\u4e86\u4e2a\u4e3b\u9898,\u662f\u6bd4\u8f83\u6734\u7d20\u7684\u90a3\u79cd.\u57fa\u672c\u662f\u767d\u8272,\u7070\u8272\u548c\u7eff\u8272.\r\n
\u6709\u670b\u53cb\u7559\u8a00\u8bf4\u5e0c\u671b\u80fd\u591f\u5206\u4eab,\u4e8e\u662f\u7d22\u6027\u653e\u5230\u4e86Google Code\u4e0a.\r\n
\u56f4\u89c2\u4e3b\u9898\u5730\u5740: http://www.idingbao.com/\r\n
\u4e3b\u9898\u4e0b\u8f7d\u5730\u5740: http://code.google.com/p/idingbao/", "date_published": "2011-07-09T11:58:15+00:00", "title": "\u5206\u4eabPicky\u6734\u7d20\u4e3b\u9898\u4e00\u4e2a", "id": "t/15554" }, { "author": { "url": "member/shellex", "name": "shellex", "avatar": "https://cdn.v2ex.com/avatar/03f5/4461/1089_large.png?m=1355537988" }, "url": "t/11366", "date_modified": "2012-04-22T13:36:34+00:00", "content_html": "\u6bd4\u8f83\u4e86\u4ee5\u4e0bmicoblog\u548cpicky\uff0c\u8fd8\u662f\u559c\u6b22picky\u5462\u3002\u8bc4\u8bba\u7528disqus\u5c31\u53ef\u4ee5\u4e86\u3002\r\n
\r\n
\u57fa\u4e8edefault\u4e3b\u9898\u6539\u52a8\u4e86\u4e00\u4e0b\uff0c\u5148\u8fd9\u6837\u597d\u4e86...\r\n
\r\n
\u5728 http://blog.hotot.org/", "date_published": "2011-04-12T14:54:50+00:00", "title": "\u7528picky\u642d\u4e86\u4e00\u4e2ablog\uff0c\u7ed9hotot\u7528\u3002", "id": "t/11366" }, { "author": { "url": "member/Feuda", "name": "Feuda", "avatar": "https://cdn.v2ex.com/avatar/a981/f2b7/1625_large.png?m=1605193999" }, "url": "t/9149", "date_modified": "2012-04-22T16:03:15+00:00", "content_html": "", "date_published": "2011-03-02T10:10:00+00:00", "title": "\u5982\u4f55\u5f80\u535a\u5ba2\u91cc\u7c98\u8d34github\u4ee3\u7801\u554a\uff0c\u5c31\u662f\u8ba9github\u91cc\u7684\u90a3\u4ee3\u7801\u663e\u793a\u5728picky\u535a\u5ba2\u91cc,\u8d34\u5730\u5740\u597d\u50cf\u4e0d\u884c\u554a", "id": "t/9149" }, { "author": { "url": "member/wxl24life", "name": "wxl24life", "avatar": "https://cdn.v2ex.com/avatar/2417/dc8a/2661_large.png?m=1749888992" }, "url": "t/8846", "date_modified": "2012-04-22T18:02:58+00:00", "content_html": "\u6298\u817e\u4e86\u4e00\u5929\u7ec8\u4e8e\u628ablog\u642d\u8d77\u6765\u4e86\u3002\u3002\r\n
\r\n
http://rcodlife.appspot.com/\r\n
\r\n
\u6709\u4e2a\u95ee\u9898\uff1a\r\n
\r\n
\u65e5\u5fd7\u53d1\u5e03\u7684\u65f6\u95f4\u6240\u5728\u65f6\u533a\u4e0d\u5bf9\uff0c\u8c8c\u4f3c\u662f\u7f8e\u5e1d\u90a3\u8fb9\u7684\u65f6\u533a\u3002\u3002\u3002\r\n
\r\n
\u4e0d\u77e5\u9053\u5728\u54ea\u513f\u6539\uff1f", "date_published": "2011-02-23T08:39:55+00:00", "title": "\u6c42\u52a9\uff0cPicky\u642d\u5efa\u7684blog\uff0c\u65e5\u5fd7\u53d1\u5e03\u65f6\u95f4\u4e0d\u51c6\u786e\u3002\u3002\u3002", "id": "t/8846" }, { "author": { "url": "member/xinzhi", "name": "xinzhi", "avatar": "https://cdn.v2ex.com/avatar/bf82/2969/174_large.png?m=1665999681" }, "url": "t/6389", "date_modified": "2012-04-22T15:49:57+00:00", "content_html": "\u597d\u591a\u670b\u53cb\u5728\u5b89\u88c5Project Picky\u9047\u5230\u56f0\u96be\uff0c\u53ef\u80fd\u662f\u4ee5\u4e0b\u51e0\u4e2a\u539f\u56e0\uff1a\r\n
1\uff09python\u8fd0\u884c\u65f6\u6ca1\u914d\u7f6e\u597d\r\n
2\uff09\u53ea\u662f\u90e8\u7f72\u4e86Hello World\r\n
3\uff09\u6210\u529f\u90e8\u7f72\uff0c\u4f46\u540e\u53f0\u65e0\u6cd5\u7b49\u5165\r\n
\r\n
1\u548c2\u5c31\u4e0d\u8bf4\u4e86\uff0c\u4e0d\u662f\u5988\u5988\u4e0d\u5728\u5bb6\u8863\u670d\u53ea\u80fd\u81ea\u5df1\u6d17\uff0c\u662f\u81ea\u5df1\u7684\u4e8b\u60c5\u81ea\u5df1\u505a\u30023\u7684\u8bdd\uff0c\u4f60\u6210\u529f\u5927\u534a\u4e86\uff0c\u4e0d\u8981\u653e\u5f03\uff0c\u65e0\u975e\u8fd9\u51e0\u4e2a\u539f\u56e0\uff1a\r\n
\u4e00\uff09\u5bc6\u7801\u914d\u7f6e\u6ca1\u4fee\u6539\uff0c\u6b64\u65f6\u767b\u5f55\u5bc6\u7801\u8fd8\u662f\u9ed8\u8ba4\u7684\uff1asecret\uff0c\u5f3a\u70c8\u5efa\u8bae\u4fee\u6539\r\n
\u4e8c\uff09\u6ca1\u6709\u6b63\u786e\u4fee\u6539\u914d\u7f6e\uff0c\u6216\u662f\u660e\u6587\u586b\u5199\u5bc6\u7801\uff0c\u6216\u662f\u5bc6\u7801\u586b\u5230\u6ce8\u91ca\u5757\u91cc\u9762\u4e86\uff0c\u7b49\u4e8e\u6ca1\u6539\r\n
\u4e09\uff09Twitter API\u5931\u6548\u5bfc\u81f4\u540e\u53f0\u65e0\u6cd5\u8fdb\u5165\uff08\u7279\u5f81\u4e3a\u767b\u5f55\u540e\u9875\u9762\u8fd4\u56de\u5927\u5806\u9519\u8bef\u4fe1\u606f\uff09\r\n
\r\n
\u9488\u5bf9\u4ee5\u4e0a\u51e0\u70b9\u95ee\u9898\uff0c\u603b\u7ed3\u4e3a\u4e24\u4e2a\u95ee\u9898\uff1a\r\n
\r\n
#\u914d\u7f6eauth.py\u6587\u4ef6\r\n
\u8bbf\u95ee http://shell.appspot.com/ \u5728\u9875\u9762\u4e0b\u65b9\u8f93\u5165\u6846\u4f9d\u6b21\u8f93\u5165\u547d\u4ee4\uff1a\r\n
\r\n
import hashlib\r\n
\uff08\u56de\u8f66\u63d0\u4ea4\uff09\r\n
hashlib.sha1('123456').hexdigest()\r\n
\uff08\u56de\u8f66\u63d0\u4ea4\uff09\r\n
\r\n
\u6b64\u65f6\u4f1a\u770b\u5230\u6700\u4e0b\u9762\u8fd4\u56de\u4e00\u4e32\u5b57\u7b26\uff1a\r\n
7c4a8d09ca3762af61e59520943dc26494f8941b\r\n
\r\n
\u4ee5\u4e0a\u5b57\u4e32\u5c31\u662f123456\u88ab\u52a0\u5bc6\u540e\u7684\u5b57\u4e32\uff0c\u4f60\u53ef\u4ee5\u7528\u5176\u5b83\u60f3\u8981\u7684\u5bc6\u7801\u66ff\u6362123456\u540c\u6837\u4f1a\u5f97\u5230\u76f8\u5e94\u7684\u5b57\u4e32\u3002\u6700\u540e\u5c06\u5b57\u4e32\u66ff\u4ee3auth.py\u6587\u4ef6\u6700\u540e\u4e00\u884c\u5f15\u53f7\u4e2d\u7684\u5b57\u4e32\u5373\u53ef\u3002\r\n
\r\n
#Twitter\u5bfc\u81f4\u7684\u95ee\u9898\r\n
\u4e0b\u8f7d\u6539\u597d\u7684writer.py\u66ff\u6362\u5373\u53ef\uff0c\u5730\u5740\uff1a https://cl.ly/2Qas \u66ff\u6362\u540e\u90e8\u7f72\u66f4\u65b0\uff0c\u5e94\u8be5\u5c31\u6ca1\u95ee\u9898\u4e86\u3002\r\n
\r\n
P.S. \u5927\u6982\u9047\u5230\u56f0\u96be\u7684\u4eba\u4e5f\u4e0d\u4f1a\u770b\u5230\u8fd9\u91cc\u3002\u3002\u3002\u4ee5\u540e\u60f3\u5b89\u88c5\u7684\u53ef\u4ee5\u770b\u770b\u3002", "date_published": "2010-12-27T08:29:49+00:00", "title": "\u90e8\u7f72Project Picky\u540e\u65e0\u6cd5\u8fdb\u5165\u540e\u53f0\u7684\u89e3\u51b3\u529e\u6cd5", "id": "t/6389" }, { "author": { "url": "member/dara", "name": "dara", "avatar": "https://cdn.v2ex.com/avatar/403e/a2e8/2713_large.png?m=1328957011" }, "url": "t/6382", "date_modified": "2012-04-22T17:13:05+00:00", "content_html": "http://dara-i.appspot.com/\r\n
\r\n
auth.py\u4e2d\u7684\u5bc6\u7801\u5982\u4f55\u8bbe\u7f6e\u7684\u5462 \uff0c\u76ee\u524d\u7684\u72b6\u6001\u662f\u6ca1\u505a\u4fee\u6539\uff01", "date_published": "2010-12-27T06:31:50+00:00", "title": "\u521a\u90e8\u7f72\u5b8c\uff0c\u767b\u5f55\u51fa\u73b0\u95ee\u9898", "id": "t/6382" }, { "author": { "url": "member/kaktos", "name": "kaktos", "avatar": "https://cdn.v2ex.com/avatar/e4a9/3f03/3020_large.png?m=1715133280" }, "url": "t/6376", "date_modified": "2012-04-22T19:18:44+00:00", "content_html": "\u770b\u4e86\u4e0b\uff0c\u53ea\u6709first commit...\r\n
\u5982\u679c\u662f\u6700\u65b0\u4ee3\u7801\uff0c\u60f3fork\u4e00\u4e2a\u73a9\u73a9~", "date_published": "2010-12-27T05:16:06+00:00", "title": "\u8bf7\u95eegithub\u4e0apicky\u7684\u4ee3\u7801\u662f\u5426\u6700\u65b0\uff0c\u662f\u5426\u4fdd\u6301\u66f4\u65b0\uff1f", "id": "t/6376" }, { "author": { "url": "member/Mypujin", "name": "Mypujin", "avatar": "https://cdn.v2ex.com/avatar/ea15/9dc9/2384_large.png?m=1742710958" }, "url": "t/6342", "date_modified": "2012-04-22T16:31:21+00:00", "content_html": "\u5982\u9898\uff1a http://facethinking.appspot.com/", "date_published": "2010-12-26T06:39:57+00:00", "title": "\u65b0\u5efa\u4e86\u4e00\u4e2aProject Picky\uff0c\u8bf7\u95ee\u5de6\u8fb9\u7684\u90a3\u4e2agoogle ads\u5728\u90a3\u4e48\u5220\u9664\uff1f", "id": "t/6342" }, { "author": { "url": "member/xinzhi", "name": "xinzhi", "avatar": "https://cdn.v2ex.com/avatar/bf82/2969/174_large.png?m=1665999681" }, "url": "t/6285", "date_modified": "2012-04-22T15:29:46+00:00", "content_html": "\u672c\u6b21\u6d3b\u52a8\u9762\u5411\u72ec\u7acb\u535a\u5ba2\u65b0\u4eba\uff0c\u4ef7\u683c\u4ec5100\u5143\u5305\u62ec\uff1a\r\n
-Project Picky\u535a\u5ba2\u4e00\u5e74\u6280\u672f\u652f\u6301\r\n
-com/net/org\u9876\u7ea7\u57df\u540d\u4e00\u679a\u4e00\u5e74\u9650\r\n
-VPS\u52a0\u901f\u4e00\u5e74\u4fdd\u969c\uff0c\u8bbf\u95ee\u65e0\u5fe7\uff0c\u6570\u636e\u6c38\u5b58\r\n
\r\n
\uff08\u8d2d\u4e70\u540e\u4ef7\u683c\u4e0d\u518d\u8c03\u6574\uff0c\u5373\u81ea\u5e26\u9876\u7ea7\u57df\u540d\u4e5f\u4e00\u6837\u3002\u8fd9\u79cd\u60c5\u51b5\u53ef\u76f4\u63a5\u8054\u7cfb\u6211\uff0c\u672c\u4eba\u53ef\u957f\u671f\u514d\u8d39\u534f\u52a9\u90e8\u7f72Project Picky/Project Babel\uff0c\u6700\u597d\u7684\u4e1c\u897f\u503c\u5f97\u5927\u5bb6\u5171\u540c\u62e5\u6709\uff0c\u540c\u5206\u4eab\uff01\uff09\r\n
\r\n
Project Picky\u4e3a@Livid\u5f00\u6e90\u4f5c\u54c1\uff0c\u548cV2EX Project Babel\u4e00\u540c\u8fd0\u884c\u5728Google\u4e91\u8ba1\u7b97\u5e73\u53f0\u4e0a\u3002Picky\u535a\u5ba2\u7cfb\u7edf\u7b80\u7ea6\u7a33\u5065\uff0c\u53cb\u597d\u638c\u63a7\uff0c\u4e00\u7ecf\u62e5\u6709\uff0c\u522b\u65e0\u6240\u6c42\u3002\u6bcf\u4efd\u8ba2\u5355\u6536\u51651%\u4f1a\u901a\u8fc7\u652f\u4ed8\u5b9d\u6350\u8d60\u7ed9\u6148\u5584\u673a\u6784\u3002\r\n
\r\n
Project Picky\u535a\u5ba2\u6f14\u793a\uff1a http://picky.olivida.com/\r\n
\r\n
\r\n
V2EXer\u4e13\u4eab\uff0c\u8bf7\u6ce8\u610f\u201cV2EX\u201d\u8fd9\u4e2a\u63a5\u5934\u6697\u53f7\uff1b\r\n
\u79d2\u6740\u4ef7\uff0c\u8bf7\u53ca\u65f6\u5904\u7406\u8ba2\u5355\uff0c\u4ec5\u4e0b\u67081\u53f7\u524d\u6709\u6548\uff1b\r\n
\u6dd8\u5b9d\u652f\u4ed8\u5b9d\u4ea4\u6613\uff0c\u4e0d\u6ee1\u610f\u4e0d\u4ed8\u6b3e\uff0c\u975e\u8bda\u52ff\u6270\u8ba9\u5b50\u5f39\u98de\u4e00\u4f1a\u3002\r\n
\r\n
\u79d2\u6740\u5730\u5740\uff08\u6dd8\u5b9d\uff09\uff1a\r\n
https://cl.ly/3kp2\r\n
\r\n
\u90ae\u4ef6\u8054\u7cfb(\u652f\u6301GTalk)\uff1a \r\n
xinzhi.org@gmail.com", "date_published": "2010-12-24T12:28:59+00:00", "title": "\u5723\u8bde\u56e2\u8d2d\uff1a\u4ec5\u552e100\u5143\uff01\u539f\u4ef7300\u5143\u72ec\u7acb\u535a\u5ba2\uff0c\u900166\u5143\u9876\u7ea7\u57df\u540d", "id": "t/6285" }, { "author": { "url": "member/again", "name": "again", "avatar": "https://cdn.v2ex.com/gravatar/96a64c9e4497b6edbe63abe25813cb65?s=73&d=retro" }, "url": "t/5875", "date_modified": "2012-04-22T21:02:27+00:00", "content_html": "\u9996\u5148\u662f\u5e9f\u8bdd,\u4e0d\u662f\u7b2c\u4e00\u6b21\u6765v2ex,\u5012\u662f\u7b2c\u4e00\u6b21\u6ce8\u518c\uff0c\u6700\u8fd1\u5728\u7528Project Picky\uff0c\u6709\u51e0\u4e2a\u95ee\u9898\u60f3\u8bf7\u6559\uff0c\u6240\u4ee5\u5c31\u6765\u4e86\r\n
\r\n
\u770b\u4e86http://picky.olivida.com \u5de6\u8fb9\u90a3\u4e2a\u5e7f\u544a\u4f4d\u7684\u5185\u5bb9\u7ecf\u5e38\u66f4\u6362\uff0cve2k\u7684\u53f3\u8fb9\u90a3\u4e2a\u4e5f\u662f\uff0c\u60f3\u77e5\u9053\u662f\u6bcf\u6b21\u624b\u52a8\u66f4\u6539\u7684\u8fd8\u662f\u81ea\u52a8\u5207\u6362\u7684\uff1f\u6211\u60f3\u628a\u90a3\u4e2a\u5e7f\u544a\u4f4d\u5f04\u6210\u53cb\u60c5\u94fe\u63a5\u7684\uff0c\u5982\u679c\u80fd\u81ea\u52a8\u66f4\u6362\u7684\u8bdd\uff0c\u6211\u89c9\u5f97\u5f88cool\r\n
\r\n
picky\u6709\u529e\u6cd5\u5b9e\u73b0\u5206\u9875\u5417\uff1f\u6211\u4e0d\u4f1a\u4fee\u6539\u7a0b\u5e8f\u7684\u3002\u3002\u3002\r\n
\r\n
\u6700\u540e\uff0c\u770b\u4e0b\u6211\u535a\u5ba2\u5427\uff0chttp://www.hxw.in \u6211\u4e0d\u4f1a\u5f04logo\uff0c\u5927\u5bb6\u63d0\u4e0b\u610f\u89c1", "date_published": "2010-12-14T17:15:14+00:00", "title": "\u51e0\u4e2a\u95ee\u9898", "id": "t/5875" }, { "author": { "url": "member/samphealth", "name": "samphealth", "avatar": "https://cdn.v2ex.com/avatar/0e9d/935f/3304_large.png?m=1304127440" }, "url": "t/5111", "date_modified": "2012-04-22T05:38:42+00:00", "content_html": "\u9996\u9875\u80fd\u663e\u793aPost\u5185\u5bb9\uff0c\u4f46\u662f\u4e2a\u522bpermanent link\u8fc7\u53bb\u540e\u5374\u662f\u4e00\u4e2a404\u9519\u8bef\uff0c\u8fd9\u5e94\u5982\u4f55\u89e3\u51b3\uff1f\r\n
\r\n
\u8c22\u8c22\uff01", "date_published": "2010-11-28T14:15:17+00:00", "title": "\u95ee\u4e00\u4e2aindex\u548carticle\u95ee\u9898", "id": "t/5111" }, { "author": { "url": "member/imom0", "name": "imom0", "avatar": "https://cdn.v2ex.com/avatar/4e0c/b6fb/966_large.png?m=1354367558" }, "url": "t/5030", "date_modified": "2012-04-22T08:37:05+00:00", "content_html": "\u52a0\u4e0a\u53bb\u4e0d\u590d\u6742\u3002\r\n
\u4e00\u4e2ablog\u5b8c\u6574\u4e86\u3002", "date_published": "2010-11-26T02:25:24+00:00", "title": "\u53d1\u73b0Picky\u52a0\u4e0aDisqus\u7684\u8bc4\u8bba\u662f\u4e0d\u9519\u7684\u642d\u914d\u3002", "id": "t/5030" }, { "author": { "url": "member/deepice", "name": "deepice", "avatar": "https://cdn.v2ex.com/avatar/fb26/06a5/3132_large.png?m=1506743941" }, "url": "t/4833", "date_modified": "2012-04-22T15:52:10+00:00", "content_html": "Traceback (most recent call last):\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 511, in __call__\r\n
handler.get(*groups)\r\n
File "/base/data/home/apps/example-picky/1.346371474994347470/writer.py", line 211, in get\r\n
if len(mentions_twitter['results']) > 0:\r\n
KeyError: 'results'", "date_published": "2010-11-21T12:23:19+00:00", "title": "\u8fdb\u5165Picky Writer\u63d0\u793a\u9519\u8bef", "id": "t/4833" }, { "author": { "url": "member/lin", "name": "lin", "avatar": "https://cdn.v2ex.com/avatar/fe9f/c289/83_large.png?m=1773678072" }, "url": "t/4330", "date_modified": "2012-04-22T05:21:52+00:00", "content_html": "http://v2ex.appspot.com/rework\r\n
\u56e0\u4e3a\u6211\u65e0\u6cd5\u751f\u6210\u8fd9\u6837\u7684\u9875\u9762\uff08\u6211\u6307\u7684\u662f\u8fd9\u4e2a\u9996\u9875\uff09\u3002\r\n
\u6211\u53ea\u80fd\u751f\u6210 \u5730\u5740/\u7ad9\u540d/\u9875\u9762\u540d \u8fd9\u6837\u7684\u5f62\u5f0f\u3002\r\n
\r\n
\u8fd9\u4e2a\u9996\u9875\u662f\u4e0d\u662f\u5728\u6e90\u6587\u4ef6\u91cc\u624b\u5de5\u505a\u7684\uff1f\r\n
\r\n
\u8c22\u8c22\uff01", "date_published": "2010-11-10T15:19:30+00:00", "title": "\u6211\u60f3\u4e86\u89e3\u4e00\u4e0bRework\u9996\u9875\u662f\u4e0d\u662f\u7528V2EX Minisite\u529f\u80fd\u751f\u6210\u7684\uff1f", "id": "t/4330" }, { "author": { "url": "member/yoyicue", "name": "yoyicue", "avatar": "https://cdn.v2ex.com/avatar/3cef/96dc/949_large.png?m=1334843481" }, "url": "t/3885", "date_modified": "2012-04-22T05:35:01+00:00", "content_html": "Traceback (most recent call last):\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 513, in __call__\r\n
handler.post(*groups)\r\n
File "/base/data/home/apps/appsname/20101030155700.345859091870208681/writer.py", line 469, in post\r\n
'user_email' : user.email(),\r\n
NameError: global name 'user' is not defined\r\n
\r\n
1.9.1\u7248\u672c\u6765\u81ea\u4e8egithub\r\n
\u56e7 \u8fd9\u4e2a\u5730\u65b9\u600e\u4e48\u4f1a\u8981email\u5462", "date_published": "2010-10-30T08:19:28+00:00", "title": "writer/save \u65f6\u63d0\u9192 global name 'user' is not defined", "id": "t/3885" }, { "author": { "url": "member/imom0", "name": "imom0", "avatar": "https://cdn.v2ex.com/avatar/4e0c/b6fb/966_large.png?m=1354367558" }, "url": "t/3754", "date_modified": "2012-04-22T07:14:03+00:00", "content_html": "\u7ed9Picky\u6dfb\u52a0\u4e86PubSubHubbub\u652f\u6301\u3002\r\n
\u4ec0\u4e48\u662fPubSubHubbub? http://code.google.com/p/pubsubhubbub/\r\n
\r\n
PubSubHubbub\u662f\u8d44\u8baf\u7684\u6d41\u901a\u53d8\u5f97\u66f4\u5b9e\u65f6\u3002\r\n
\r\n
\u9700\u8981\u6539\u52a8Picky\u7684\u5730\u65b9\u4e0d\u591a\u3002\r\n
\r\n
1.\u6539\u52a8 Atom or RSS XML file\r\n
\r\n
\u5728 /tpl/shared/index.xml \u91cc\u627e\u5230\r\n
\r\n
code:\r\n
\r\n
<link rel="self" type="application/atom+xml" href="http://{{ site_domain }}/index.xml" />\r\n
\u8fd9\u4e00\u884c,\u540e\u9762\u6dfb\u52a0:\r\n
\r\n
code:\r\n
\r\n
<link rel="hub" href="http://pubsubhubbub.appspot.com/" />\r\n
2.Ping the hub\r\n
\r\n
\u5728 /writer.py \u91cc\u627e\u5230 class WriterSynchronizeHandler,Ping Google Blog Search\u90a3\u4e2a\u6ce8\u91ca\u540e\u9762\u6709\u8fd9\u6837\u4e00\u884c:\r\n
\r\n
code:\r\n
\r\n
result = urlfetch.fetch(google_ping)\r\n
\u5728\u4e0b\u9762\u6dfb\u52a0:\r\n
\r\n
code:\r\n
\r\n
hub_field = {"hub.mode":"publish","hub.url":"http://imimom0.appspot.com/index.xml"}\r\n
hub_ping = urlfetch.fetch(url='http://pubsubhubbub.appspot.com/',payload=urllib.urlencode(hub_field),method=urlfetch.POST)\r\n
\r\n
\u4e0a\u4f20\u540e\u6d4b\u8bd5\u662f\u5426\u6709\u6548\u679c,Gtalk/XMPP\u6dfb\u52a0 push-bot@appspot.com \u673a\u5668\u4eba\u4e3a\u597d\u53cb\uff0c\u7136\u540e\u5411\u5b83\u53d1\u9001\u6d88\u606f\uff0c\u5185\u5bb9\u4e3a "/subscribe http://imimom0.appspot.com/index.xml"\u3002\u53d1\u9001\u4e00\u7bc7\u6d4b\u8bd5\u65e5\u5fd7\uff0c\u770b\u662f\u5426\u6709\u901a\u77e5\u3002\r\n
\r\n
http://imimom0.appspot.com/add-pubsubhubbub-feed-support-for-picky", "date_published": "2010-10-26T04:35:06+00:00", "title": "\u7ed9Picky\u6dfb\u52a0\u4e86PubSubHubbub\u652f\u6301\u3002", "id": "t/3754" }, { "author": { "url": "member/Kirkcong", "name": "Kirkcong", "avatar": "https://cdn.v2ex.com/avatar/69d6/58d0/1613_large.png?m=1757301191" }, "url": "t/3514", "date_modified": "2012-04-22T08:33:16+00:00", "content_html": "RT\uff1f", "date_published": "2010-10-19T04:46:55+00:00", "title": "Project Picky\u662f\u5426\u53ef\u80fd\u5728VPS\u4e0a\u8fd0\u884c\uff1f", "id": "t/3514" }, { "author": { "url": "member/Mianco", "name": "Mianco", "avatar": "https://cdn.v2ex.com/avatar/45fb/c6d3/216_large.png?m=1334986756" }, "url": "t/3370", "date_modified": "2012-04-22T13:58:23+00:00", "content_html": "\u6bd4\u5982\u6211\u662fabc.com\r\n
\r\n
\u5df2\u7ecf\u4f7f\u7528\u4e86you8g\u7684\u670d\u52a1\uff0c\u5728GAE\u7684\u540e\u53f0\u4e5f\u8bbe\u7f6e\u4e86\u57df\u540d\uff0cGOOGLE APP\u4e5f\u6ce8\u518c\u4e86\u3002\r\n
\r\n
\u4e3a\u4ec0\u4e48\u6253\u5f00abc.com\u8fd8\u662f\u6ca1\u6709\u6307\u5411\u5230\u6211\u7684picky\uff0c\u53ea\u51fa\u73b0\u4e86\u4e00\u4e2aGoogle 404\u7684\u9875\u9762\u3002", "date_published": "2010-10-15T03:24:45+00:00", "title": "\u5982\u4f55\u7ed1\u5b9a\u81ea\u5df1\u7684\u9876\u7ea7\u57df\u540d", "id": "t/3370" }, { "author": { "url": "member/seanwang", "name": "seanwang", "avatar": "https://cdn.v2ex.com/avatar/eb16/0de1/117_large.png?m=1335102442" }, "url": "t/3159", "date_modified": "2012-04-22T09:39:21+00:00", "content_html": "Traceback (most recent call last):\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 511, in __call__\r\n
handler.get(*groups)\r\n
File "/base/data/home/apps/suzhoukeblog/1.345322999458455619/twitter.py", line 44, in get\r\n
lists = api.GetLists()\r\n
File "/base/data/home/apps/suzhoukeblog/1.345322999458455619/v2ex/picky/ext/twitter.py", line 1545, in GetLists\r\n
url = TWITTER_API_ROOT + '/' + self._username + '/lists.json'\r\n
TypeError: cannot concatenate 'str' and 'NoneType' objects", "date_published": "2010-10-07T07:53:18+00:00", "title": "\u8fdb\u5165\u540e\u53f0\u51fa\u73b0\u5982\u4e0b\u7684\u9519\u8bef", "id": "t/3159" }, { "author": { "url": "member/xinzhi", "name": "xinzhi", "avatar": "https://cdn.v2ex.com/avatar/bf82/2969/174_large.png?m=1665999681" }, "url": "t/3046", "date_modified": "2012-04-22T08:13:34+00:00", "content_html": "\u6628\u665a\u6ca1\u7761\u597d\u5934\u75bc\u8111\u70ed\u5fd9\u6d3b\u4e86\u4e24\u4e09\u4e2a\u5c0f\u65f6\uff0c\u5e2e\u52a9\u4e00\u4e2aWordPress\u7528\u6237\u8fc1\u79fb\u6570\u636e\u5e93\u5230Project Picky\u3002705\u7bc7\u6587\u7ae0\u5982\u6570\u8f6c\u6362\uff0c\u611f\u89c9\u5b8c\u4e8b\u4e86\u7ffb\u90ae\u4ef6\u770b\u8981\u6c42\uff0c\u6587\u7ae0\u94fe\u63a5html\u7684\u540e\u7f00\uff0c\u6211\u5168\u5f04\u6210\u4e86htm\u3002\u3002\u3002", "date_published": "2010-10-02T04:07:06+00:00", "title": "\u8bf7\u6559Livid\u5982\u4f55\u6279\u91cf\u4fee\u6539Picky\u7684title_url\u548ctitle_link\uff0c\u540e\u7f00htm\u6539\u6210html", "id": "t/3046" }, { "author": { "url": "member/1wingedangel", "name": "1wingedangel", "avatar": "https://cdn.v2ex.com/gravatar/1fcb76048f865673b22ef346819ee358?s=73&d=retro" }, "url": "t/2855", "date_modified": "2012-04-21T18:57:58+00:00", "content_html": "\u7b80\u5355\u5730\u8bf4\u5c31\u662fwordpress\u91cc\u9762\u7684<!--more-->\u4ee3\u7801\u3002\r\n
\r\n
\u5728home\u4e0b\u53ef\u4ee5\u622a\u77ed\u65e5\u5fd7\uff0c\u7136\u540e\u5728permalink\u91cc\u9762\u663e\u793a\u5168\u6587\u7684\u90a3\u79cd\u2026\u2026\r\n
\r\n
\u4e0d\u77e5\u9053\u5728picky\u4e0a\u80fd\u5426\u5b9e\u73b0\uff1f", "date_published": "2010-09-25T13:12:11+00:00", "title": "\u8bf7\u95ee\u5728Picky\u4e0a\u5982\u4f55\u622a\u77ed\u6587\u7ae0\uff1f", "id": "t/2855" }, { "author": { "url": "member/bullock", "name": "bullock", "avatar": "https://cdn.v2ex.com/avatar/ea5d/2f1c/64_large.png?m=1430051576" }, "url": "t/2806", "date_modified": "2012-04-21T16:34:32+00:00", "content_html": "\u9875\u9762\u4e0a\u663e\u793a\u201chello world\u201d\r\n
\r\n
app.yam\u4e2d\u7684application\u7684\u503c\u4e5f\u6539\u4e86\r\n
\r\n
\r\n
http://www.v2ex.com/t/2125\u4e2d\u63d0\u5230\uff1a\r\n
\r\n
\u201c\u539f\u6765\u521a\u624d\u5728GAE Launcher \u7684 Application Settings \u91cc\u9762\u7684 Parent Directory \u91cc\uff0c\u5e94\u8be5\u9009\u62e9\u4e0a\u4e00\u7ea7\u7684\u6587\u4ef6\uff0c\u800c\u4e14\u4e0d\u662fpicky\u672c\u8eab\u8fd9\u4e2a\u6587\u4ef6\u5939\u3002 \u201d\r\n
\r\n
\u6ca1\u770b\u61c2\uff01\r\n
\r\n
\u8bf7\u6c42\u5e2e\u52a9\uff01", "date_published": "2010-09-22T05:03:18+00:00", "title": "\u9875\u9762\u663e\u793a\u201chello world\u201d\uff0c\u6cae\u4e27...", "id": "t/2806" }, { "author": { "url": "member/Mianco", "name": "Mianco", "avatar": "https://cdn.v2ex.com/avatar/45fb/c6d3/216_large.png?m=1334986756" }, "url": "t/2804", "date_modified": "2012-04-20T08:16:42+00:00", "content_html": "\u96fb\u8166\u91cd\u88dd\u904e\u4e86\uff0c\u5fd8\u8a18\u5099\u4efd\u4e86\u3002\r\n
\r\n
\u76ee\u524d\u5728GAE\u4e0a\u8dd1PICKY\uff0c\u548c\u5927\u5bb6\u4e00\u6a23\uff0c\u51fa\u73fe\u4e86twitter\u932f\u8aa4\uff0c\u6bcf\u5929\u53ea\u80fd\u767b\u9304\u4e00\u6b21\u3002\r\n
\r\n
GAE\u7684\u90e8\u7f72\u65b9\u5f0f\u6bd4\u8f03\u7279\u5225\uff0c\u8acb\u554f\u80fd\u5426\u628aGAE\u88e1\u7684\u6587\u4ef6\u4e0b\u8f09\u4e0b\u4f86\uff0c\u597d\u8b93\u6211\u4fee\u6539\uff1f", "date_published": "2010-09-22T03:30:16+00:00", "title": "GAE\u4e0a\u7684\u7a0b\u5e8f\u5982\u4f55Down\u4e0b\u4f86", "id": "t/2804" }, { "author": { "url": "member/Livid", "name": "Livid", "avatar": "https://cdn.v2ex.com/avatar/c4ca/4238/1_large.png?m=1775624785" }, "url": "t/2752", "date_modified": "2012-04-21T21:18:02+00:00", "content_html": "\u8c8c\u4f3c\u6e2f\u53f0\u90fd\u662f \u9001\u51fa\r\n
\r\n
Gmail \u662f Send\r\n
\r\n
\u8fd9\u91cc\u7684\u51e0\u4e2a\u6309\u94ae\uff0c\u6bd4\u5982\u53d1\u4e3b\u9898\u548c\u53d1\u56de\u590d\uff0c\u4e0a\u9762\u7528\u4ec0\u4e48\u6bd4\u8f83\u597d\u5462\uff1f", "date_published": "2010-09-20T02:19:25+00:00", "title": "\u5173\u4e8e\u63d0\u4ea4\u6309\u94ae\u4e0a\u7684\u6587\u5b57", "id": "t/2752" }, { "author": { "url": "member/shenxiuqiang", "name": "shenxiuqiang", "avatar": "https://cdn.v2ex.com/avatar/db95/7c62/1788_large.png?m=1773456228" }, "url": "t/2747", "date_modified": "2012-04-21T04:25:50+00:00", "content_html": "\u521a\u521a\u63a5\u89e6Python\uff0c\u4e0d\u77e5\u5230\u4ec0\u4e48IDE\u597d\u3002Picky\u662f\u7528\u4ec0\u4e48IDE\u5462\uff1f\u8bf7\u63a8\u8350\u4e00\u4e0b\u5427\uff0c\u53e6\u5916\u5927\u5bb6\u5bf9\u6a21\u677f\u7684\u7f16\u8f91\u6709\u4ec0\u4e48\u6280\u5de7\u53ef\u4ee5\u6307\u6559\u4e00\u4e0b\u3002", "date_published": "2010-09-19T16:10:20+00:00", "title": "\u60f3\u505a\u4e2aPicky\u7684\u4e3b\u9898\u6a21\u677f\uff0c\u7528\u4ec0\u4e48\u7f16\u8f91\u597d\u5462", "id": "t/2747" }, { "author": { "url": "member/W", "name": "W", "avatar": "https://cdn.v2ex.com/gravatar/8f6331dbf6da7dbcec93c3188c539aac?s=73&d=retro" }, "url": "t/2737", "date_modified": "2012-04-22T15:44:49+00:00", "content_html": "\u5982\u9898\u3002", "date_published": "2010-09-19T10:06:34+00:00", "title": "Picky\u5bf9Markdown\u8bed\u6cd5\u652f\u6301\u5230\u4ec0\u4e48\u7a0b\u5ea6\uff1f", "id": "t/2737" }, { "author": { "url": "member/Feuda", "name": "Feuda", "avatar": "https://cdn.v2ex.com/avatar/a981/f2b7/1625_large.png?m=1605193999" }, "url": "t/2685", "date_modified": "2012-04-22T17:20:37+00:00", "content_html": "\u4e00\u76f4\u62a5\u9519\uff0c\u5e73\u5747\u4e00\u5929\u53ea\u80fd\u8fdb\u53bb\u4e00\u6b21\uff0c\u6211\u524d\u4e9b\u5929\u521a\u5efa\u597d\u7684\u65f6\u5019\uff0c\u4ec0\u4e48\u90fd\u5f88\u6b63\u5e38\uff0c\u7a81\u7136\u8fd9\u51e0\u5929\u8fdb\u4e0d\u53bb\u4e86\uff0c\u5076\u5c14\u8fdb\u53bb\u4e00\u6b21\uff0c\u5e2e\u5e2e\u5fd9~", "date_published": "2010-09-17T14:52:17+00:00", "title": "project picky\u540e\u53f0\u65e0\u6cd5\u8fdb\u5165,\u6211\u5df2\u7ecf\u6ce8\u91ca\u6389\u4e86\u90a3\u51e0\u884c\u4ee3\u7801\u4e86\u554a\uff0c\u6c42\u9ad8\u624b\u6307\u793a", "id": "t/2685" }, { "author": { "url": "member/napoleonu", "name": "napoleonu", "avatar": "https://cdn.v2ex.com/avatar/1f1b/aa5b/1807_large.png?m=1772916512" }, "url": "t/2641", "date_modified": "2012-04-21T02:22:08+00:00", "content_html": "Traceback (most recent call last):\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 511, in __call__\r\n
handler.get(*groups)\r\n
File "/base/data/home/apps/unocncom/2.344814401834963569/writer.py", line 211, in get\r\n
if len(mentions_twitter['results']) > 0:\r\n
KeyError: 'results'", "date_published": "2010-09-16T02:35:46+00:00", "title": "if len(mentions_twitter['results']) > 0:\u4e0d\u77e5\u9053\u95ee\u9898\u5728\u54ea", "id": "t/2641" }, { "author": { "url": "member/hanfeizi", "name": "hanfeizi", "avatar": "https://cdn.v2ex.com/avatar/db57/6a7d/1054_large.png?m=1330004750" }, "url": "t/2502", "date_modified": "2012-04-22T02:59:23+00:00", "content_html": "\u521a\u6539\u597dpicky logo \u73b0\u5728\u60f3\u5220\u9664picky\u7684\u4fa7\u8fb9\u680f\u5e7f\u544a.\r\n
\u8bf7\u95ee\u5927\u725b\u4eec\u600e\u4e48\u6539\u7684\u554a\uff1f\u627e\u4e86\u534a\u5929\u6587\u4ef6\u6ca1\u627e\u5230\u5e7f\u544a\u4ee3\u7801\u5728\u90a3\uff1f\r\n
\u53e6\u5916\u95ee\u4e0blivida\u725b\u4eba....\u4f55\u65f6picky\u80fd\u7528\u4e0atwitter\u554a", "date_published": "2010-09-11T13:56:52+00:00", "title": "\u5173\u4e8epicky", "id": "t/2502" }, { "author": { "url": "member/wangfengmadking", "name": "wangfengmadking", "avatar": "https://cdn.v2ex.com/avatar/a7ae/ed74/576_large.png?m=1389007121" }, "url": "t/2494", "date_modified": "2012-04-15T03:46:26+00:00", "content_html": "\u5148\u6652\u6211\u7684 \r\n
[http://hello-math.appspot.com](http://hello-math.appspot.com "Numb3r3")", "date_published": "2010-09-11T07:49:49+00:00", "title": "\u5927\u5bb6\u6652\u6652\u4f60\u4eec\u7684Picky\u7ad9\u5427", "id": "t/2494" }, { "author": { "url": "member/wangfengmadking", "name": "wangfengmadking", "avatar": "https://cdn.v2ex.com/avatar/a7ae/ed74/576_large.png?m=1389007121" }, "url": "t/2477", "date_modified": "2012-04-21T08:25:35+00:00", "content_html": "\u4ece\u7f51\u4e0a\u641c\u4e86\u4e00\u4e9bMarkdown\u8bed\u6cd5\uff0c\u8bf4\u5355\u884c\u4ee3\u7801\u7528"`"\u62ec\u8d77\u6765\u5c31\u53ef\u4ee5\u3002\u4f46\u662f\u6211\u5728\u63d2\u5165\u4ee3\u7801\u6bb5\u662f\uff0c\u6839\u636e\u8bf4\u660e\u5728\u9996\u884c\u7a7a4\u683c\uff0c\u4f46\u662f\u6ca1\u6709\u6548\u679c\u3002\u4e0d\u77e5\u9053\u4e3a\u4ec0\u4e48\uff1f", "date_published": "2010-09-10T14:33:41+00:00", "title": "\u5728picky\u4e2d\u63d2\u5165\u4ee3\u7801\u6bb5", "id": "t/2477" }, { "author": { "url": "member/vayn", "name": "vayn", "avatar": "https://cdn.v2ex.com/avatar/70ef/df2e/17_large.png?m=1335864375" }, "url": "t/2251", "date_modified": "2012-04-22T16:44:52+00:00", "content_html": "\u56e0\u4e3a OAuth \u7684\u5173\u7cfb\uff0cPicky \u7684 twitter sync \u5931\u6548\u4e86\uff0c\u5e0c\u671b Livid \u65e9\u70b9\u628a\u65b0\u7684\u8ba4\u8bc1\u65b9\u5f0f\u52a0\u5165\u5230 Picky \u4e2d\u3002", "date_published": "2010-09-03T00:14:00+00:00", "title": "Picky \u7684 twitter \u540c\u6b65", "id": "t/2251" }, { "author": { "url": "member/FRHong", "name": "FRHong", "avatar": "https://cdn.v2ex.com/avatar/1e1d/1841/1169_large.png?m=1710858663" }, "url": "t/2172", "date_modified": "2012-04-19T17:45:07+00:00", "content_html": "@Livid \u5728\u4ed6\u7684 Picky \u4e0a\u5199\u8fc7\uff08http://picky.olivida.com/benefit-host-blogs-with-google-app-engine\uff09\r\n
\r\n
\u653e\u5728\u56fd\u5916\u4f1a\u88ab\u5899\uff0c\u653e\u5728\u56fd\u5185\u670d\u52a1\u5668\u4f1a\u88ab\u62b1\u8d70\u3002\u8fd9\u4e9b\u90fd\u662f\u65e0\u6cd5\u5f7b\u5e95\u907f\u514d\u7684\u3002\u800c\u4e14\u5f88\u591a\u65f6\u5019\u53ef\u80fd\u4f60\u81ea\u5df1\u7684\u535a\u5ba2\u4e0a\u6ca1\u6709\u4ec0\u4e48\u654f\u611f\u5185\u5bb9\uff0c\u4f46\u662f\u65c1\u8fb9\u7684\u90a3\u53f0\u673a\u5668\u4e0d\u5e72\u51c0\uff0c\u4e8e\u662f\u4e00\u6574\u4e2a\u673a\u623f\u4e5f\u4f1a\u88ab\u8fde\u5750\u3002\u800c\u653e\u5728 GAE \u4e0a\u867d\u7136\u4e5f\u53ef\u80fd\u4f1a\u968f\u65f6\u88ab\u5899\uff0c\u4f46\u662f\u81f3\u5c11\u4e0d\u7528\u62c5\u5fc3\u81ea\u5df1\u7684\u670d\u52a1\u5668\u88ab\u62b1\u8d70\u3002\r\n
\r\n
\u4e8e\u662f\u5728\u60f3\uff0c\u5982\u679cGAE\u88ab\u5899\uff0c\u90a3\u4e48\u642d\u5efa\u5728\u4e0a\u9762\u7684 Picky \u6216\u662f Babel \u5f97\u600e\u4e48\u529e\uff1f", "date_published": "2010-08-30T17:29:04+00:00", "title": "Contingency plan for GAE+Picky/Babel ?", "id": "t/2172" }, { "author": { "url": "member/lin", "name": "lin", "avatar": "https://cdn.v2ex.com/avatar/fe9f/c289/83_large.png?m=1773678072" }, "url": "t/2140", "date_modified": "2012-04-22T15:41:26+00:00", "content_html": "\u6628\u5929\u51c6\u5907\u518d\u642d\u4e2aPicky\u505a\u4e2a\u548cBabel\u6709\u5173\u7684\u7ad9\u3002\r\n
hg\u4e86\u6700\u65b0\u7248\u672c\uff0c\u8fd0\u884c\u3002\r\n
\u6267\u884cwriter\u7684\u65f6\u5019\uff0c\u51fa\u73b0\u8fd9\u4e2a\u9519\u8bef\uff1a\r\n
\r\n
\r\n
google and baidu \u8fd9\u4e2a\u9519\u8bef\uff0c\u8fd8\u662f\u4e00\u5934\u96fe\u6c34\u3002\r\n
\u8bf7\u7ed9\u70b9\u63d0\u793a\u3002\r\n
\u8c22\u8c22\uff01", "date_published": "2010-08-29T10:17:10+00:00", "title": "TypeError: cannot concatenate 'str' and 'NoneType' objects", "id": "t/2140" }, { "author": { "url": "member/FRHong", "name": "FRHong", "avatar": "https://cdn.v2ex.com/avatar/1e1d/1841/1169_large.png?m=1710858663" }, "url": "t/2125", "date_modified": "2012-04-22T15:36:04+00:00", "content_html": "\u7b2c\u4e00\u6b21\u5bf9GAE\u8fdb\u884c\u5c1d\u8bd5\uff0c\u51c6\u5907\u8bd5\u7740\u628aPicky\u548cBable\u5728\u81ea\u5df1\u7684\u57df\u540d\u4e0b\u8bd5\u88c5\u6210\u529f\u3002\u8fd9\u8fc7\u7a0b\u5bf9\u4e8e\u4e00\u4e2a\u4ee3\u7801\u767d\u75f4\u6765\u8bf4\u96be\u514d\u6709\u70b9\u8270\u8f9b\uff0c\u6240\u4ee5\u5e0c\u671b\u5404\u4f4d\u8d44\u6df1\u4eba\u58eb\u591a\u591a\u6307\u6559\u3002\r\n
\r\n
\u73b0\u5728\u5728Picky\u4e0a\u9047\u5230\u7684\u95ee\u9898\u6709\u4e24\u4e2a\uff1a\r\n
\r\n
1\uff09\u6309\u7167Livid\u7684\u5b89\u88c5\u6559\u7a0b\uff08http://picky.olivida.com/install\uff09\uff0c\u4e0b\u8f7d\u4e86ActivePython\uff0c\u8fd8\u6709GAE Launcher\u3002\u5b89\u88c5\u4e86\u4e24\u8005\u4e4b\u540e\uff0c\u8fd0\u884cGAE Launcher\u65f6\u9047\u5230\u4e86\u4ee5\u4e0b\u9519\u8bef\u4fe1\u606f\uff1a\r\n
\r\n
[img]http://i36.tinypic.com/29usg88.png[/img]\r\n
\r\n
\u8bf7\u95ee\u5177\u4f53\u662f\u54ea\u91cc\u51fa\u9519\uff0c\u800c\u4e14\u5e94\u8be5\u600e\u4e48\u89e3\u51b3\uff1f\r\n
\r\n
\r\n
2\uff09\u5728Livid\u7684\u6559\u7a0b\u4e0a\u6709\u4e00\u53e5\u201c\u5728\u89e3\u5f00\u7684\u6587\u4ef6\u5939\u4e2d\uff0c\u5c06 app.yaml.example \u590d\u5236\u4e3a app.yaml\uff0c\u4fee\u6539\u5176\u4e2d\u7684 App ID\uff0c\u6539\u6210\u4f60\u81ea\u5df1\u7684"\uff0c\u6211\u7528Notepad++\u6253\u5f00app.yam\u4e4b\u540e\u5e76\u6ca1\u6709\u627e\u5230\u201cApp ID\u201d\u7684\u5b57\u6837\u3002\u8bf7\u95ee\u5177\u4f53\u662f\u5e94\u8be5\u4fee\u6539\u54ea\u4e00\u4e2a\u503c\u5462\uff1f\r\n
\r\n
\r\n
\u8c22\u8c22\u4e86\uff01", "date_published": "2010-08-28T21:07:39+00:00", "title": "\u5b89\u88c5Picky\u65f6\u9047\u5230\u7684\u4e24\u4e2a\u95ee\u9898 1) GAE\uff0c 2) \u914d\u7f6e\u6587\u4ef6", "id": "t/2125" }, { "author": { "url": "member/xinzhi", "name": "xinzhi", "avatar": "https://cdn.v2ex.com/avatar/bf82/2969/174_large.png?m=1665999681" }, "url": "t/1993", "date_modified": "2012-04-22T12:27:55+00:00", "content_html": "\u4eca\u5929\u770b\u5230@c\u7684xFox\u8bba\u575b\uff0c\u5176\u4e2d\u4e00\u4e2afeature\u5c31\u662f\u53d1\u5e16\u6846\u6587\u5b57\u53ef\u4ee5\u81ea\u52a8\u4fdd\u5b58\uff0c\u521a\u624d\u770b\u4e86\u4e0b\u6e90\u7801\uff0c\u633a\u7b80\u5355\u7684\uff0c\u4f7f\u7528\u4e86HTML 5\u7684\u672c\u5730\u5b58\u50a8\u7279\u6027\u3002\u5c06xFox\u91cc\u7684\u81ea\u52a8\u4fdd\u5b58\u529f\u80fd\u6dfb\u52a0\u5230Picky\u4e5f\u5341\u5206\u7b80\u5355\uff1a\r\n
\r\n
1\uff09\u4e0b\u8f7dautosave.js\r\n
http://xfox.appspot.com/static/autosave.js\r\n
\u4fdd\u5b58\u81f3/static/shared/\uff0c\u4ee3\u7801\u57fa\u672c\u65e0\u9700\u4fee\u6539\u5373\u53ef\u4f7f\u7528\uff0c\u4f46\u5efa\u8bae\u5c06#btn_clear\u4fee\u6539\u4e3a#doDiscard\uff0c\u4ee5\u4fbf\u70b9\u51fbDiscard\u6309\u94ae\u7684\u65f6\u5019\u6e05\u7a7a\u672c\u5730\u8349\u7a3f\u3002\r\n
\r\n
2\uff09\u4fee\u6539\u6a21\u7248\u6587\u4ef6/tpl/writer/header.html\uff0c\u5728</body>\u4e4b\u524d\u6dfb\u52a0\u4e00\u884c\uff1a\r\n
<script src="/static/shared/autosave.js" type="text/Javascript"></script>\r\n
\uff08\u52a0\u5230</head>\u4e4b\u524d\u4e5f\u884c\uff09\r\n
\r\n
3\uff09\u4e0a\u4f20\u66f4\u65b0\uff0c\u5b8c\u6bd5\u3002\r\n
\r\n
\u4ee5\u540e\u4f7f\u7528Writer\u5199\u6587\u7ae0\uff0c\u6b63\u6587\u5185\u5bb9\u5c065\u79d2\u949f\u81ea\u52a8\u4fdd\u5b58\u4e00\u6b21\u3002", "date_published": "2010-08-24T13:18:15+00:00", "title": "\u7ed9Picky\u6dfb\u52a0\u81ea\u52a8\u4fdd\u5b58\u8349\u7a3f\u529f\u80fd\uff08HTML 5\u7279\u6027\uff09", "id": "t/1993" }, { "author": { "url": "member/Weakdancer", "name": "Weakdancer", "avatar": "https://cdn.v2ex.com/avatar/d6c6/51dd/703_large.png?m=1747809045" }, "url": "t/1943", "date_modified": "2012-04-21T22:42:32+00:00", "content_html": "http://wonderpy.appspot.com/tweets\r\n
\u5728\u6211\u7684tweets\u9875\u9762\u53ef\u4ee5\u770b\u5230\uff0c\u6211\u7684\u201c\u771f\u540d\u201d\u548c"username"\u4e0d\u4e00\u6837\uff0c\u800c\u8fd9\u91cc\u628a\u6211\u7684\u771f\u540d\u5f53\u4f5c\u4e86username\r\n
\r\n
\u5728tweets.html\u4e2d\u6709\uff1a\r\n
http://twitter.com/{{ twitter_account }}\r\n
\r\n
\u5728main.py\u4e2d\u6709\uff1a\r\n
twitter_account = Datum.get('twitter_account')\r\n
twitter_password = Datum.get('twitter_password')\r\n
api = twitter.Api(username=twitter_account, password=twitter_password)\r\n
\r\n
\r\n
\u95ee\u9898\u5904\u5728\u54ea\u91cc\u5462\uff1f", "date_published": "2010-08-22T09:27:58+00:00", "title": "picky\u7684tweets\u4e2d\u7684\u8d26\u6237\u94fe\u63a5\u662f\u9519\u8bef\u7684", "id": "t/1943" }, { "author": { "url": "member/horse", "name": "horse", "avatar": "https://cdn.v2ex.com/avatar/299a/23a2/1060_large.png?m=1333696017" }, "url": "t/1942", "date_modified": "2012-04-21T10:37:48+00:00", "content_html": "\u5c0f\u767d\u63d0\u95ee\uff0c\u88c5picky\u5728zhanbin.appspot.com\u51fa\u9519\r\n
\r\n
Traceback (most recent call last):\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 511, in __call__\r\n
handler.get(*groups)\r\n
File "/base/data/home/apps/zhanbin/1.344259933651252454/main.py", line 52, in get\r\n
template_values['articles_total'] = articles.count()\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 1818, in count\r\n
result = raw_query.Count(limit=limit, rpc=rpc)\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 1275, in Count\r\n
iterator = self._Run(limit=0, offset=offset, **kwargs)\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore.py", line 1188, in _Run\r\n
str(exc) + '\\nThis query needs this index:\\n' + yaml)\r\n
NeedIndexError: The index for this query is not ready to serve. See the Datastore Indexes page in the Admin Console.\r\n
This query needs this index:\r\n
- kind: Article\r\n
properties:\r\n
- name: is_page\r\n
- name: created\r\n
direction: desc", "date_published": "2010-08-22T09:16:02+00:00", "title": "\u5b89\u88c5\u62a5\u9519", "id": "t/1942" }, { "author": { "url": "member/Leo", "name": "Leo", "avatar": "https://cdn.v2ex.com/avatar/13f3/cf8c/443_large.png?m=1335118781" }, "url": "t/1923", "date_modified": "2012-04-22T15:51:10+00:00", "content_html": "Project Picky \u521d\u8877\u662f\u8ba9\u4f5c\u8005\u66f4\u4e13\u6ce8\u4e8e\u5199\u4f5c\uff0c\u6240\u4ee5\u4e00\u4e9b\u7e41\u6742\u7684\u529f\u80fd\u662f\u4e0d\u9700\u8981\u7684\u3002\r\n
\r\n
\u82e5Project Picky\u5c06\u5f00\u53d1\u65b0\u7684\u529f\u80fd\uff0c\u4f60\u6700\u671f\u5f85\u7684\u662f\u54ea\u4e2a\u5462\r\n
\r\n
\r\n
\u671f\u5f85\u52a0\u5165\u6570\u636e\u5bfc\u5165\u5bfc\u51fa\u548c\u8349\u7a3f\u529f\u80fd\u3002", "date_published": "2010-08-21T19:33:24+00:00", "title": "\u4f60\u6700\u671f\u5f85Project Picky\u7684\u65b0\u529f\u80fd", "id": "t/1923" }, { "author": { "url": "member/ituscany", "name": "ituscany", "avatar": "https://cdn.v2ex.com/gravatar/f633b605d55c80b96ad1d8819875ae63?s=73&d=retro" }, "url": "t/1666", "date_modified": "2012-04-22T16:43:30+00:00", "content_html": "\u540c\u4e0a", "date_published": "2010-08-13T09:42:09+00:00", "title": "\u5982\u679c\u80fd\u4eceWordPress\u5bfc\u5165\u6570\u636e\u5c31\u597d\u4e86", "id": "t/1666" }, { "author": { "url": "member/hanfeizi", "name": "hanfeizi", "avatar": "https://cdn.v2ex.com/avatar/db57/6a7d/1054_large.png?m=1330004750" }, "url": "t/1663", "date_modified": "2012-04-22T02:54:52+00:00", "content_html": "\u4eca\u5929\u521a\u5728GAE\u4e0a\u67b6\u8bbe\u4e86Picky\u5e76\u628awriter.py\u91cc\u9762201++\u884c\u6709\u5173twitter\u7684\u8bed\u53e5\u6ce8\u91ca\u6389\u4e86\u4e0d\u7136\u8fdb\u540e\u53f0\u5c31\u62a5\u9519..\u73b0\u5728\u53ef\u4ee5\u8fdb\u540e\u53f0\u4e86 \u4f46\u662f\u70b9\u51fbtwitter\u51fa\u73b0\u4e86\u4e0b\u9762\u9519\u8bef\r\n
Traceback (most recent call last):\r\n
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 511, in __call__\r\n
handler.get(*groups)\r\n
File "/base/data/home/apps/imnotebook/2.344050858468440949/twitter.py", line 42, in get\r\n
lists = api.GetLists()\r\n
File "/base/data/home/apps/imnotebook/2.344050858468440949/v2ex/picky/ext/twitter.py", line 1546, in GetLists\r\n
json = self._FetchUrl(url)\r\n
File "/base/data/home/apps/imnotebook/2.344050858468440949/v2ex/picky/ext/twitter.py", line 2180, in _FetchUrl\r\n
url_data = opener.open(url, encoded_post_data).read()\r\n
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 387, in open\r\n
respOnse= meth(req, response)\r\n
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 498, in http_response\r\n
'http', request, response, code, msg, hdrs)\r\n
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 425, in error\r\n
return self._call_chain(*args)\r\n
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 360, in _call_chain\r\n
result = func(*args)\r\n
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 506, in http_error_default\r\n
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)\r\n
HTTPError: HTTP Error 404: Not Found", "date_published": "2010-08-13T09:01:08+00:00", "title": "Project Picky\u7684twitter\u95ee\u9898", "id": "t/1663" }, { "author": { "url": "member/greatghoul", "name": "greatghoul", "avatar": "https://cdn.v2ex.com/avatar/c32d/9bf2/979_large.png?m=1752980225" }, "url": "t/1587", "date_modified": "2012-04-21T00:15:12+00:00", "content_html": "\u7ec8\u4e8e\u628awmd\u6574\u8fdb\u53bb\u4e86\r\n
\r\n
![wmd\u7f16\u8f91\u5668\u53ca\u9884\u89c8](http://pic.yupoo.com/greatghoul/676039c5a6af/29yn287x.jpg)\r\n
\r\n
\u8be6\u89c1\u6b64\u6587\uff1a<http://greatghoul.appspot.com/install-wmd-in-picky>", "date_published": "2010-08-11T07:08:25+00:00", "title": "\u5728Picky\u4e2d\u5e94\u7528Markdown\u7f16\u8f91\u5668--wmd", "id": "t/1587" }, { "author": { "url": "member/Livid", "name": "Livid", "avatar": "https://cdn.v2ex.com/avatar/c4ca/4238/1_large.png?m=1775624785" }, "url": "t/1502", "date_modified": "2012-04-22T09:40:59+00:00", "content_html": "\u8c8c\u4f3c Twitter Search API \u5728\u9650\u5236\u641c\u7d22\u57df\u540d\u548c\u7f51\u5740\u3002\r\n
\r\n
http://search.twitter.com/search.json?q=picky.olivida.com\r\n
\r\n
\u6216\u8bb8\u6700\u65b0\u7684 hg \u7248\u672c\u91cc\u6211\u5e94\u8be5\u6682\u65f6\u628a\u8fd9\u4e2a\u529f\u80fd\u53bb\u6389\uff1f", "date_published": "2010-08-08T17:38:34+00:00", "title": "\u5173\u4e8e\u6700\u8fd1\u7684\u540e\u53f0\u9519\u8bef", "id": "t/1502" }, { "author": { "url": "member/fineao", "name": "fineao", "avatar": "https://cdn.v2ex.com/avatar/07c5/807d/713_large.png?m=1752997463" }, "url": "t/1486", "date_modified": "2012-04-22T18:57:50+00:00", "content_html": "\u521a\u521a\u65e0\u610f\u95f4\u53d1\u73b0\u5728 picky \u751f\u6210\u7684 xml \u6587\u4ef6\u91cc\uff0c\u6587\u7ae0\u7684\u987a\u5e8f\u548c\u535a\u5ba2\u91cc\u9762\u7684\u5b8c\u5168\u4e0d\u4e00\u6837\uff0c\u660e\u660e\u662f\u4ee5\u524d\u7684\u5374\u6392\u5728\u521a\u5199\u7684\u524d\u9762\u3002\r\n
\r\n
\u800c\u4e14\u4e0a\u9762\u663e\u793a\u7684\u65f6\u95f4\u4e5f\u548c\u535a\u5ba2\u91cc\u7684\u53d1\u5e03\u65f6\u95f4\u4e0d\u4e00\u6837\uff0c\u53bb\u540e\u53f0\u770b\u4e86\u4e0b\uff0cxml \u6587\u4ef6\u91cc\u663e\u793a\u7684\u65f6\u95f4\u5176\u5b9e\u662f"\u6700\u540e\u4e00\u6b21\u4fee\u6539\u201c\u7684\u65f6\u95f4\uff0c\u6211\u89c9\u5f97\u8fd9\u91cc\u5e94\u8be5\u662f\u201d\u53d1\u5e03\u65f6\u95f4\u201c\u624d\u597d\u5427\u3002\r\n
\r\n
\u6709\u65f6\u5019\u6539\u4e2a set \u6216\u8005 title \u4ec0\u4e48\u7684\u5c31\u628a\u6587\u7ae0\u653e\u5728\u6700\u524d\u9762\u4e86\u8fd9\u6837\u4e0d\u592a\u9002\u5408\u5427\u3002", "date_published": "2010-08-08T10:07:03+00:00", "title": "\u5173\u4e8e rss \u6587\u7ae0\u663e\u793a\u987a\u5e8f\u7684\u95ee\u9898", "id": "t/1486" }, { "author": { "url": "member/IIssNan", "name": "IIssNan", "avatar": "https://cdn.v2ex.com/avatar/0690/59b7/126_large.png?m=1558547818" }, "url": "t/1473", "date_modified": "2012-04-22T19:37:33+00:00", "content_html": "\u73b0\u5728\u6709\u63a5\u89e6\u7684Comment System\u6216\u8005\u7c7b\u4f3c\u7684\u670d\u52a1\u90fd\u6709\u53ef\u80fd\u88ab\u67d0\u79cd\u529b\u7ed9\u963b\u65ad\uff0c\u6240\u4ee5\u4e00\u76f4\u5728\u72b9\u8c6b\u8981\u4e0d\u8981\u4f7f\u7528\u7b2c\u4e09\u65b9\u6b64\u7c7b\u670d\u52a1\u3002\u6240\u4ee5\u505a\u4e2a\u5c0f\u8c03\u67e5\uff1a\r\n
\r\n
\u4f7f\u7528picky\u7684\u4f60\u6709\u4f7f\u7528\u7b2c\u4e09\u65b9Comment System\u4e48\uff1f \u4f7f\u7528\u54ea\u4e2aSystem\uff1f", "date_published": "2010-08-07T19:38:15+00:00", "title": "\u4f7f\u7528\u7b2c\u4e09\u65b9Comment System\u7684\u4eba\u591a\u5417\uff1f", "id": "t/1473" } ] } ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86