예제 #1
0
 def test_review_simple(self):
     r = Review()
     daily = {
         '08/31/18': {
             'date': datetime(year=2018, month=8, day=31),
             'item': 'it 4'
         },
         '08/30/18': {
             'date': datetime(year=2018, month=8, day=30),
             'item': 'it 1; it 2, it3'
         },
     }
     conf = {
         'review-1': '24',
         'review-2': '72',
         'review-3': '168',
         'max-review-items': '1'
     }
     reviews = {}
     r.merge_review_items(daily, conf, reviews)
     self.assertEqual(r.reschedule_and_generate_todo(conf, reviews),
                      ['it 1'], "Expect 1st item from day1")
예제 #2
0
        quote_reader = QuotesReader(conf_reader['quote-url'])
        quote = select_quote(quote_reader)
        quote_str = "Quote of the day: " + "\n" + quote['content'] + "  -- " + quote["author"]

        items_reader = ItemsReader(GSheetClient('client/token.json', 'client/credentials.json'))    
        daily = items_reader.read_daily()
        confs = items_reader.read_conf()
        laws  = items_reader.read_laws()

        review_items = items_reader.read_review_backlog()

        review = Review()

        # fill unscheduled reviews, merge, get todo list
        review.fill_review_dates(confs, review_items)
        review.merge_review_items(daily, confs, review_items)
        todo_list = review.reschedule_and_generate_todo(confs, review_items)

        # write review schedules back to sheet
        items_reader.write_review_backlog(review.to_table(review_items))

        # send email
        greetings_str = "Hi,\n"
        close_str     = "Thanks,\nBot\n\nP.S. remember to update your progress here:\nhttps://docs.google.com/spreadsheets/d/1hloMXB_eL1f_OWpZR3qDSwc51AJQjLslr_yNR0u7n8c/edit"

        if len(todo_list) > 0:
            todo_list_str = "\n - ".join(todo_list)
            todo_list_str = "Consider reviewing the following today:\n - " + todo_list_str
        else:
            todo_list_str = "Looks like there are no items to review today.\n"