def test_days_until_next_event_none(self): with patch('ug.util.ical._now', return_value=datetime(2015, 11, 18, 8, 24, 7, tzinfo=pytz.utc)): with self.assertRaises(ical.NoEvents): ical.days_until_next_event()
def test_days_until_next_event(self): days, event = ical.days_until_next_event() self.assertEquals(1, days) self.assertEquals(event.title, self.event_pub.title) self.assertEquals(event.start, self.event_pub.start) self.assertEquals(21, self.event_dojo.days_until())
def tweet_events(): from ug.util.ical import NoEvents, days_until_next_event try: days, event = days_until_next_event() except NoEvents: print("no events") return where = event.where.split(',')[0] time = event.when.time() time_string = "%02d:%02d" % (time.hour, time.minute) print(days) if days == app.config['ADMIN_REMINDER_DAYS']: print("DM to d0ugal") send_dm("d0ugal", "Hey - we have an event coming up, have you sorted it?") elif days == app.config['LIST_REMINDER_DAYS']: print("weekly tweet") tweet = ('The next Python Glasgow event is a {title} in {days} ' 'days at {where}. See http://pythonglasgow.org/ for more ' 'details.').format(title=event.title, where=where, days=days) update_status(tweet) send_dm("d0ugal", tweet) elif days == 0: print("on the day tweet.") tweet = ("There is a {title} tonight at {time} in {where}. See " "http://pythonglasgow.org/ for more details." ).format(title=event.title, time=time_string, where=where) update_status(tweet) send_dm("d0ugal", tweet) else: print("No Twitter updates today")