blog.hekt.org

Twitter bot 改改

というわけで以下のように修正しました。

class RepPostChecker:
	def __init__(self):
		q = db.GqlQuery("SELECT * FROM PostLog ORDER BY date ASC")
		self.c = q.fetch(1)	# 履歴が満杯のときに削除される予定の値
		self.l = [q.content for q in q]

	def rec(self, s):
		if len(self.l) == 10:
			db.delete(self.c)
		s = PostLog(content=s)
		s.put()

が、データストアの仕様がいまいち理解できていません。

class RepPostChecker:
	def __init__(self):
		self.q = db.GqlQuery("SELECT * FROM PostLog ORDER BY date ASC")
		self.l = [q.content for q in q]

	def rec(self, s):
		if len(self.l) == 10:
			c = self.q.fetch(1)
			db.delete(c)
		s = PostLog(content=s)
		s.put()

でダメな理由がわからない。fetch(1)__init__()からrec()に移っただけなのですが……。