def time_until(self): now = utc_now() relative = relativedelta(self.start_dt, now) if self.start_dt < now and now < self.end_dt: return u'Happening right now! Get to the pub!' return format_relative_time(relative)
def parse_page_stats(args): page, page_id = args data = { 'page_id' : page_id, 'page_talking_about_count' : int(page['talking_about_count']), 'page_likes' : int(page['likes']), 'datetime' : utc_now() } return data
def test_get_file_version(self): """ Check that the version is obtainable, and if it's not, then the correct error is thrown """ file_info = {} self.assertRaises(ParseError, self.loader._get_file_version, file_info) file_info['updated'] = 'not a rfc compliant datetime' self.assertRaises(ParseError, self.loader._get_file_version, file_info) file_info['created'] = 'not a rfc compliant datetime' self.assertRaises(ParseError, self.loader._get_file_version, file_info) u_compliant_datetime = tz_utc_now() file_info['updated'] = u_compliant_datetime self.assertTrue(self.loader._get_file_version(file_info) == u_compliant_datetime) # what if we don't have timezone info? u_compliant_datetime = utc_now() file_info['updated'] = u_compliant_datetime self.assertTrue(self.loader._get_file_version(file_info) == u_compliant_datetime) # get new datetime just in case c_compliant_datetime = tz_utc_now() file_info['created'] = c_compliant_datetime self.assertTrue(self.loader._get_file_version(file_info) == u_compliant_datetime) file_info['updated'] = 'not compliant again' self.assertTrue(self.loader._get_file_version(file_info) == c_compliant_datetime)
def parse_insights(args): """ Get insights data if indicated so by the config file """ insights, page_id, post_id, pub_datetime = args # add metadata insights = { 'page_id' : page_id, 'post_id' : post_id, 'datetime' : utc_now(), 'pub_datetime' : pub_datetime } # flatten dict for d in data: val = d['values'][0]['value'] if isinstance(val, dict): for k, v in val.iteritems(): insights[k] = v else: insights[d['name']] = val return insights
def in_the_past(self): return utc_now() > self.end_dt
def get_datetime(post): if post.has_key('updated_time'): return strip_date(post['updated_time']) else: return utc_now()
def next_events(): now = utc_now() future = now + datetime.timedelta(weeks=5200) return ps_data.events(start=now, end=future)
def ics(): next_year = utc_now() + datetime.timedelta(weeks=5200) return events_to_ical(ps_data.events(end=next_year), 'Pub Standards Events')
def previous(): events = ps_data.events(end=utc_now()) return flask.render_template('previous.html', events=events)
def next_events(): now = utc_now() future = now + datetime.timedelta(weeks=52) return ps_data.events(start=now, end=future)
def ics(): next_year = utc_now() + datetime.timedelta(weeks=52) return events_to_ical(ps_data.events(end=next_year), 'Pub Standards Events')