def createQuestion(self, lli_ref, question_sent, twitter_user,\ word, answer_text, question_message_id, answer_received, answer_rating): q = Question() q.lli_ref = lli_ref q.question_sent = question_sent q.twitter_user = twitter_user q.word = word q.answer_text = answer_text q.question_message_id = question_message_id q.answer_received = answer_received q.answer_rating = answer_rating q.put() return q
def buildDailyList(day, logging): logging.debug("Entered Build Daily List") current_timestamp = int(time.time()) for user in User.all().filter("account_status =", "enabled"): llQuery = LearnList.all().filter("twitter_user ="******"next_serve_date =", day) use_questions = user.use_questions utc_offset = 0 if user.utc_offset != None: utc_offset = user.utc_offset i = 0 message_list = [] for learnListItem in llQuery.run(): # If we are within limit of messages per dat, keep adding if i < user.messages_per_day: message_list.append(learnListItem) i = i + 1 # if we exceeded limit per day, reschedule to next day else: learnListItem.next_serve_date =\ addDays(learnListItem.next_serve_date, 1) learnListItem.put() i = i + 1 # Set next run timestamp for words scheduled for today interval_gen = getNextRunInterval(len(message_list)) for l in message_list: try: time_shift = FIRSTMESSAGEHOUR * 3600 - utc_offset * 3600 s = interval_gen.next() l.next_serve_time = current_timestamp + s + time_shift # Create new question entry for every second serve # If user has this option enabled if use_questions == "yes" and (l.total_served % 2 == 0): q = Question() q.lli_ref = l q.twitter_user = user.twitter q.word = l.dict_entry.word q.put() l.put() except StopIteration: pass