Example #1
0
    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()
Example #2
0
    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())
Example #3
0
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")