def index(): cal = Calender() events = cal.buildEvents() weathers = [] improve_weather_prediction(25) new_times = [] for e in events: weathers.append(query_api(e)) TO12_URL.format(e.getTime()) requests.get(TO12_URL).text time = to12Hour(e.getTime()) new_times.append(time) return render_template('index.html', events=events, weathers=weathers, times=new_times)
class TestCalender(unittest.TestCase): def setUp(self): self.calender = Calender() def tearDown(self): self.calender = None def today(self): the_date = date.today() weekday = calendar.day_name[the_date.weekday()] str_today = str(the_date) numbers = [int(n) for n in str_today.split('-')] the_date_for_today = {"month": numbers[1], "day": numbers[2], "year": numbers[0]} return the_date_for_today, numbers, weekday def test_get_todays_date(self): today = self.calender.getToday() test_Date, test_Date_Numbers, weekday = self.today() self.assertEqual(test_Date, today) month = test_Date_Numbers[1] self.assertEqual(month, self.calender.month) day = test_Date_Numbers[2] self.assertEqual(day, self.calender.day) year = test_Date_Numbers[0] self.assertEqual(year, self.calender.year) self.assertEqual(weekday, self.calender.today_WeekDay) def test_get_how_many_days_in_month(self): days = self.calender.daysThisMonth(11, 2015) self.assertEqual(30, days) days = self.calender.daysThisMonth(12, 2015) self.assertEqual(31, days) days = self.calender.daysThisMonth(1, 2016) self.assertEqual(31, days) def test_find_date_of_week_start_and_date_of_week_end(self): start, end = self.calender.startAndEndOfMonth(11, 2015) self.assertEqual("Sunday", start) self.assertEqual("Monday", end) start, end = self.calender.startAndEndOfMonth(12, 2015) self.assertEqual("Tuesday", start) self.assertEqual("Thursday", end) start, end = self.calender.startAndEndOfMonth(1, 2016) self.assertEqual("Friday", start) self.assertEqual("Sunday", end) def test_how_many_rows_for_calender(self): rows = self.calender.howManyRowsForMonth(11, 2015) self.assertEqual(5, rows) rows = self.calender.howManyRowsForMonth(12, 2015) self.assertEqual(5, rows) rows = self.calender.howManyRowsForMonth(1, 2016) self.assertEqual(6, rows) rows = self.calender.howManyRowsForMonth(2, 2016) self.assertEqual(5, rows) rows = self.calender.howManyRowsForMonth(3, 2016) self.assertEqual(5, rows) def test_structure_of_month(self): calendar.setfirstweekday(6) expectedAnswer = calendar.monthcalendar(2015, 11) monthCalender = self.calender.showMonth(2015, 11) self.assertEqual(expectedAnswer, monthCalender) expectedAnswer = calendar.monthcalendar(2015, 12) monthCalender = self.calender.showMonth(2015, 12) self.assertEqual(expectedAnswer, monthCalender) expectedAnswer = calendar.monthcalendar(2016, 1) monthCalender = self.calender.showMonth(2016, 1) self.assertEqual(expectedAnswer, monthCalender) # print monthCalender # print self.calender.monthlyCalender(1, 2016) def test_show_month_calender(self): emptyCal = self.calender.buildMonthlyCalender(1, 2016) expectedAnswer = { 1: {'Sunday': {'date': 0}, 'Monday': {'date': 0}, 'Tuesday': {'date': 0}, 'Wednesday': {'date': 0}, 'Thursday': {'date': 0}, 'Friday': {'date': 1}, 'Saturday': {'date': 2}}, 2: {'Sunday': {'date': 3}, 'Monday': {'date': 4}, 'Tuesday': {'date': 5}, 'Wednesday': {'date': 6}, 'Thursday': {'date': 7}, 'Friday': {'date': 8}, 'Saturday': {'date': 9}}, 3: {'Sunday': {'date': 10}, 'Monday': {'date': 11}, 'Tuesday': {'date': 12}, 'Wednesday': {'date': 13}, 'Thursday': {'date': 14}, 'Friday': {'date': 15}, 'Saturday': {'date': 16}}, 4: {'Sunday': {'date': 17}, 'Monday': {'date': 18}, 'Tuesday': {'date': 19}, 'Wednesday': {'date': 20}, 'Thursday': {'date': 21}, 'Friday': {'date': 22}, 'Saturday': {'date': 23}}, 5: {'Sunday': {'date': 24}, 'Monday': {'date': 25}, 'Tuesday': {'date': 26}, 'Wednesday': {'date': 27}, 'Thursday': {'date': 28}, 'Friday': {'date': 29}, 'Saturday': {'date': 30}}, 6: {'Sunday': {'date': 31}, 'Monday': {'date': 0}, 'Tuesday': {'date': 0}, 'Wednesday': {'date': 0}, 'Thursday': {'date': 0}, 'Friday': {'date': 0}, 'Saturday': {'date': 0}} } self.assertEqual(expectedAnswer, emptyCal) emptyCal = self.calender.buildMonthlyCalender(11, 2015) expectedAnswer = { 1: {'Sunday': {'date': 1}, 'Monday': {'date': 2}, 'Tuesday': {'date': 3}, 'Wednesday': {'date': 4}, 'Thursday': {'date': 5}, 'Friday': {'date': 6}, 'Saturday': {'date': 7}}, 2: {'Sunday': {'date': 8}, 'Monday': {'date': 9}, 'Tuesday': {'date': 10}, 'Wednesday': {'date': 11}, 'Thursday': {'date': 12}, 'Friday': {'date': 13}, 'Saturday': {'date': 14}}, 3: {'Sunday': {'date': 15}, 'Monday': {'date': 16}, 'Tuesday': {'date': 17}, 'Wednesday': {'date': 18}, 'Thursday': {'date': 19}, 'Friday': {'date': 20}, 'Saturday': {'date': 21}}, 4: {'Sunday': {'date': 22}, 'Monday': {'date': 23}, 'Tuesday': {'date': 24}, 'Wednesday': {'date': 25}, 'Thursday': {'date': 26}, 'Friday': {'date': 27}, 'Saturday': {'date': 28}}, 5: {'Sunday': {'date': 29}, 'Monday': {'date': 30}, 'Tuesday': {'date': 0}, 'Wednesday': {'date': 0}, 'Thursday': {'date': 0}, 'Friday': {'date': 0}, 'Saturday': {'date': 0}} } self.assertEqual(expectedAnswer, emptyCal) emptyCal = self.calender.buildMonthlyCalender(14, 2015) self.assertEqual(None, emptyCal) emptyCal = self.calender.buildMonthlyCalender(0, 2015) self.assertEqual(None, emptyCal) def test_add_event_to_date(self): createdEvent = {'event': "Thanks Giving", 'info': "", 'location': [], 'start': 0, 'end': 24} self.calender.addEventToCalender(11, 27, 2015, createdEvent) events = self.calender.eventsForDay(11, 27, 2015) expectedAnswer = {'events': {1: {'event': "Thanks Giving", 'date': '11-27-2015', 'info': "", "location": [], "start": 0, "end": 24}}} self.assertEqual(expectedAnswer, events) createdEvent = {'event': "Thanks Giving Service", 'info': "", 'location': [], 'start': 12, 'end': 14} self.calender.addEventToCalender(11, 27, 2015, createdEvent) events = self.calender.eventsForDay(11, 27, 2015) expectedAnswer = {'events': {1: {'event': "Thanks Giving", 'date': '11-27-2015', 'info': "", "location": [], "start": 0, "end": 24}, 2: {'event': "Thanks Giving Service", 'date': '11-27-2015', 'info': "", 'location': [], 'start': 12, 'end': 14}}} self.assertEqual(expectedAnswer, events) events = self.calender.eventsForDay(11, 28, 2015) self.assertEqual(None, events) def test_show_Monthly_Calender(self): createdEvent = {'event': "Sunday Service", 'info': "", 'location': [], 'start': "11:30am", 'end': "1:00pm"} self.calender.addEventToCalender(11, 29, 2015, createdEvent) expectedAnswer = {1: {'Monday': {'date': 2}, 'Tuesday': {'date': 3}, 'Friday': {'date': 6}, 'Wednesday': {'date': 4}, 'Thursday': {'date': 5}, 'Sunday': {'date': 1}, 'Saturday': {'date': 7}}, 2: {'Monday': {'date': 9}, 'Tuesday': {'date': 10}, 'Friday': {'date': 13}, 'Wednesday': {'date': 11}, 'Thursday': {'date': 12}, 'Sunday': {'date': 8}, 'Saturday': {'date': 14}}, 3: {'Monday': {'date': 16}, 'Tuesday': {'date': 17}, 'Friday': {'date': 20}, 'Wednesday': {'date': 18}, 'Thursday': {'date': 19}, 'Sunday': {'date': 15}, 'Saturday': {'date': 21}}, 4: {'Monday': {'date': 23}, 'Tuesday': {'date': 24}, 'Friday': {'date': 27}, 'Wednesday': {'date': 25}, 'Thursday': {'date': 26}, 'Sunday': {'date': 22}, 'Saturday': {'date': 28}}, 5: {'Monday': {'date': 30}, 'Tuesday': {'date': 0}, 'Friday': {'date': 0}, 'Wednesday': {'date': 0}, 'Thursday': {'date': 0}, 'Sunday': {'date': 29, 1: {'event': "Sunday Service", 'date': '11-29-2015', 'info': "", "location": [], "start": "11:30am", "end": "1:00pm"}}, 'Saturday': {'date': 0}}} monthly = self.calender.showMonthCalender(11, 2015) self.assertEqual(expectedAnswer[5]["Sunday"][1], monthly[5]["Sunday"][1]) self.assertEqual(expectedAnswer, monthly) monthly = self.calender.showMonthCalender(1, 2016) expectedAnswer = {1: {'Monday': {'date': 0}, 'Tuesday': {'date': 0}, 'Friday': {'date': 1}, 'Wednesday': {'date': 0}, 'Thursday': {'date': 0}, 'Sunday': {'date': 0}, 'Saturday': {'date': 2}}, 2: {'Monday': {'date': 4}, 'Tuesday': {'date': 5}, 'Friday': {'date': 8}, 'Wednesday': {'date': 6}, 'Thursday': {'date': 7}, 'Sunday': {'date': 3}, 'Saturday': {'date': 9}}, 3: {'Monday': {'date': 11}, 'Tuesday': {'date': 12}, 'Friday': {'date': 15}, 'Wednesday': {'date': 13}, 'Thursday': {'date': 14}, 'Sunday': {'date': 10}, 'Saturday': {'date': 16}}, 4: {'Monday': {'date': 18}, 'Tuesday': {'date': 19}, 'Friday': {'date': 22}, 'Wednesday': {'date': 20}, 'Thursday': {'date': 21}, 'Sunday': {'date': 17}, 'Saturday': {'date': 23}}, 5: {'Monday': {'date': 25}, 'Tuesday': {'date': 26}, 'Friday': {'date': 29}, 'Wednesday': {'date': 27}, 'Thursday': {'date': 28}, 'Sunday': {'date': 24}, 'Saturday': {'date': 30}}, 6: {'Monday': {'date': 0}, 'Tuesday': {'date': 0}, 'Friday': {'date': 0}, 'Wednesday': {'date': 0}, 'Thursday': {'date': 0}, 'Sunday': {'date': 31}, 'Saturday': {'date': 0}}} self.assertEqual(expectedAnswer, monthly) createdEvent = {'event': "Sunday Service", 'info': "", 'location': [], 'start': "11:30am", 'end': "1:00pm"} self.calender.addEventToCalender(1, 3, 2016, createdEvent) createdEvent = {'event': "New Years", 'info': "", 'location': [], 'start': "11:30am", 'end': "1:00pm"} self.calender.addEventToCalender(1, 1, 2016, createdEvent) expectedAnswer = {1: {'Monday': {'date': 0}, 'Tuesday': {'date': 0}, 'Friday': {'date': 1, 1: {'event': "New Years", 'date': '1-1-2016', 'info': "", "location": [], "start": "11:30am", "end": "1:00pm"}}, 'Wednesday': {'date': 0}, 'Thursday': {'date': 0}, 'Sunday': {'date': 0}, 'Saturday': {'date': 2}}, 2: {'Monday': {'date': 4}, 'Tuesday': {'date': 5}, 'Friday': {'date': 8}, 'Wednesday': {'date': 6}, 'Thursday': {'date': 7}, 'Sunday': {'date': 3, 1: {'event': "Sunday Service", 'date': '1-3-2016', 'info': "", "location": [], "start": "11:30am", "end": "1:00pm"}}, 'Saturday': {'date': 9}}, 3: {'Monday': {'date': 11}, 'Tuesday': {'date': 12}, 'Friday': {'date': 15}, 'Wednesday': {'date': 13}, 'Thursday': {'date': 14}, 'Sunday': {'date': 10}, 'Saturday': {'date': 16}}, 4: {'Monday': {'date': 18}, 'Tuesday': {'date': 19}, 'Friday': {'date': 22}, 'Wednesday': {'date': 20}, 'Thursday': {'date': 21}, 'Sunday': {'date': 17}, 'Saturday': {'date': 23}}, 5: {'Monday': {'date': 25}, 'Tuesday': {'date': 26}, 'Friday': {'date': 29}, 'Wednesday': {'date': 27}, 'Thursday': {'date': 28}, 'Sunday': {'date': 24}, 'Saturday': {'date': 30}}, 6: {'Monday': {'date': 0}, 'Tuesday': {'date': 0}, 'Friday': {'date': 0}, 'Wednesday': {'date': 0}, 'Thursday': {'date': 0}, 'Sunday': {'date': 31}, 'Saturday': {'date': 0}}} monthly = self.calender.showMonthCalender(1, 2016) # print(json.dumps(monthly, indent=4)) # print "_______________________________" # print "_______________________________" # print(json.dumps(expectedAnswer, indent=4)) self.assertEqual(expectedAnswer, monthly) createdEvent = {'event': "New Years Service", 'info': "", 'location': [], 'start': "11:30am", 'end': "1:00pm"} self.calender.addEventToCalender(1, 1, 2016, createdEvent) expectedAnswer = {1: {'Monday': {'date': 0}, 'Tuesday': {'date': 0}, 'Friday': {'date': 1, 1: {'event': "New Years", 'date': '1-1-2016', 'info': "", "location": [], "start": "11:30am", "end": "1:00pm"}, 2: {'event': "New Years Service", 'date': '1-1-2016', 'info': "", "location": [], "start": "11:30am", "end": "1:00pm"}}, 'Wednesday': {'date': 0}, 'Thursday': {'date': 0}, 'Sunday': {'date': 0}, 'Saturday': {'date': 2}}, 2: {'Monday': {'date': 4}, 'Tuesday': {'date': 5}, 'Friday': {'date': 8}, 'Wednesday': {'date': 6}, 'Thursday': {'date': 7}, 'Sunday': {'date': 3, 1: {'event': "Sunday Service", 'date': '1-3-2016', 'info': "", "location": [], "start": "11:30am", "end": "1:00pm"}}, 'Saturday': {'date': 9}}, 3: {'Monday': {'date': 11}, 'Tuesday': {'date': 12}, 'Friday': {'date': 15}, 'Wednesday': {'date': 13}, 'Thursday': {'date': 14}, 'Sunday': {'date': 10}, 'Saturday': {'date': 16}}, 4: {'Monday': {'date': 18}, 'Tuesday': {'date': 19}, 'Friday': {'date': 22}, 'Wednesday': {'date': 20}, 'Thursday': {'date': 21}, 'Sunday': {'date': 17}, 'Saturday': {'date': 23}}, 5: {'Monday': {'date': 25}, 'Tuesday': {'date': 26}, 'Friday': {'date': 29}, 'Wednesday': {'date': 27}, 'Thursday': {'date': 28}, 'Sunday': {'date': 24}, 'Saturday': {'date': 30}}, 6: {'Monday': {'date': 0}, 'Tuesday': {'date': 0}, 'Friday': {'date': 0}, 'Wednesday': {'date': 0}, 'Thursday': {'date': 0}, 'Sunday': {'date': 31}, 'Saturday': {'date': 0}}} monthly = self.calender.showMonthCalender(1, 2016) self.assertEqual(expectedAnswer, monthly) def test_add_recuring_events(self): createdEvent = {'event': "Sunday Service", 'info': "", 'location': [], 'start': "11:30am", 'end': "1:00pm"} self.calender.addReccuringEventToCalender( 'Sunday', 'weekly', createdEvent) answer = self.calender.reccuringEventsForMonth(11, 2015) one = {'info': '', 'end': '1:00pm', 'start': '11:30am', 'location': [], 'date': '11-1-2015', 'event': 'Sunday Service'} two = {'info': '', 'end': '1:00pm', 'start': '11:30am', 'location': [], 'date': '11-8-2015', 'event': 'Sunday Service'} three = {'info': '', 'end': '1:00pm', 'start': '11:30am', 'location': [], 'date': '11-15-2015', 'event': 'Sunday Service'} four = {'info': '', 'end': '1:00pm', 'start': '11:30am', 'location': [], 'date': '11-22-2015', 'event': 'Sunday Service'} five = {'info': '', 'end': '1:00pm', 'start': '11:30am', 'location': [], 'date': '11-29-2015', 'event': 'Sunday Service'} expected = [one, two, three, four, five] # print "what I got" # print "{}".format(answer) # print "_______________________________" # print "_______________________________" # print "this is what was expected" # print "{}".format(expected) self.assertEqual(expected, answer) def test_add_recuring_events_to_monthly_calender(self): createdEvent = {'event': "Sunday Service", 'info': "", 'location': [], 'start': "11:30am", 'end': "1:00pm"} expectedAnswer = {1: {'Monday': {'date': 2}, 'Tuesday': {'date': 3}, 'Friday': {'date': 6}, 'Wednesday': {'date': 4}, 'Thursday': {'date': 5}, 'Sunday': {'date': 1, 1: {'event': "Sunday Service", 'date': '11-1-2015', 'info': "", "location": [], "start": "11:30am", "end": "1:00pm"}}, 'Saturday': {'date': 7}}, 2: {'Monday': {'date': 9}, 'Tuesday': {'date': 10}, 'Friday': {'date': 13}, 'Wednesday': {'date': 11}, 'Thursday': {'date': 12}, 'Sunday': {'date': 8, 1: {'event': "Sunday Service", 'date': '11-8-2015', 'info': "", "location": [], "start": "11:30am", "end": "1:00pm"}}, 'Saturday': {'date': 14}}, 3: {'Monday': {'date': 16}, 'Tuesday': {'date': 17}, 'Friday': {'date': 20}, 'Wednesday': {'date': 18}, 'Thursday': {'date': 19}, 'Sunday': {'date': 15, 1: {'event': "Sunday Service", 'date': '11-15-2015', 'info': "", "location": [], "start": "11:30am", "end": "1:00pm"}}, 'Saturday': {'date': 21}}, 4: {'Monday': {'date': 23}, 'Tuesday': {'date': 24}, 'Friday': {'date': 27}, 'Wednesday': {'date': 25}, 'Thursday': {'date': 26}, 'Sunday': {'date': 22, 1: {'event': "Sunday Service", 'date': '11-22-2015', 'info': "", "location": [], "start": "11:30am", "end": "1:00pm"}}, 'Saturday': {'date': 28}}, 5: {'Monday': {'date': 30}, 'Tuesday': {'date': 0}, 'Friday': {'date': 0}, 'Wednesday': {'date': 0}, 'Thursday': {'date': 0}, 'Sunday': {'date': 29, 1: {'event': "Sunday Service", 'date': '11-29-2015', 'info': "", "location": [], "start": "11:30am", "end": "1:00pm"}}, 'Saturday': {'date': 0}}} self.calender.addReccuringEventToCalender( 'Sunday', 'weekly', createdEvent) monthly = self.calender.showMonthCalender(11, 2015) # print "this is what was shown" # print(json.dumps(monthly, indent=4)) # print "_______________________________" # print "_______________________________" # print "this is what was expected" # print(json.dumps(expectedAnswer, indent=4)) self.assertEqual(expectedAnswer, monthly)
def setUp(self): self.calender = Calender()