+class HeadlineApi(tornado.web.RequestHandler):
+ def get(self):
+ response = {}
+ for x in self.application.db.tables():
+ if x != '_default':
+ response[x] = self.get_data(x)
+ self.write(json.dumps(response,ensure_ascii=False))
+
+ def get_data(self,dbname):
+ table = self.application.db.table(dbname)
+ i = len(table)
+ if i == 0:
+ return {}
+ else:
+ rec = sorted(table.all(),key=lambda x: x['number'])[i-1]
+ return {'number':rec['number'],'title':rec['title'],'name':rec['name'],'comment':rec['raw'][0:19]}
+
+class ArticleApi(tornado.web.RequestHandler):
+ def get(self,dbname,number):
+ if self.application.collection(dbname) == True:
+ table = self.application.db.table(dbname)
+ response = table.get(where('number') == int(number))
+ if response == None:
+ response = {}
+ else:
+ del response['comment']
+ self.write(json.dumps(response,ensure_ascii=False))
+ else:
+ tornado.web.HTTPError(404)
+
+ def post(self,dbname):
+ name = self.get_argument('name',u'誰かさん')
+ title = self.get_argument('title',u'タイトルなし')
+ comment = self.get_argument('comment')
+ table = self.application.db.table(dbname)
+ table.insert({'name':name,'title':title,'comment':comment})
+