コード例 #1
0
ファイル: tests.py プロジェクト: dazbur/languagebot
 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
コード例 #2
0
ファイル: learnlist.py プロジェクト: dazbur/languagebot
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