def test_today(self): with freeze_time('2016-9-19 8:00'): today13 = datetime.combine(date.today(), time(13, 0)) assert (today13, False) == guessdatetimefstr(['today', '13:00'], LOCALE_BERLIN) assert date.today() == guessdatetimefstr(['today'], LOCALE_BERLIN)[0].date()
def test_time_weekday(self): with freeze_time('2016-9-19'): assert (datetime(2016, 9, 23, 16), False) == \ guessdatetimefstr( 'Friday 16:00'.split(), locale=LOCALE_BERLIN, default_day=datetime.today())
def test_time_weekday(self): with freeze_time('2016-9-19'): assert (datetime(2016, 9, 23, 16), False) == \ guessdatetimefstr( 'Friday 16:00'.split(), locale=locale_de, default_day=datetime.today())
def test_short_format_contains_year(self): """if the non long versions of date(time)format contained a year, the current year would be used instead of the given one, see #545""" locale = { 'timeformat': '%H:%M', 'dateformat': '%Y-%m-%d', 'longdateformat': '%Y-%m-%d', 'datetimeformat': '%Y-%m-%d %H:%M', 'longdatetimeformat': '%Y-%m-%d %H:%M', } with freeze_time('2016-12-30 17:53'): assert (datetime(2017, 1, 1), True) == \ guessdatetimefstr('2017-1-1'.split(), locale=locale, default_day=datetime.today()) with freeze_time('2016-12-30 17:53'): assert (datetime(2017, 1, 1, 16, 30), False) == guessdatetimefstr( '2017-1-1 16:30'.split(), locale=locale, default_day=datetime.today(), )
def khal_list(collection, daterange=None, conf=None, agenda_format=None, day_format=None, once=False, notstarted=False, width=False, env=None, datepoint=None): assert daterange is not None or datepoint is not None """returns a list of all events in `daterange`""" # because empty strings are also Falsish if agenda_format is None: agenda_format = conf['view']['agenda_event_format'] if daterange is not None: if day_format is None: day_format = conf['view']['agenda_day_format'] start, end = start_end_from_daterange( daterange, conf['locale'], default_timedelta_date=conf['default']['timedelta'], default_timedelta_datetime=conf['default']['timedelta'], ) logger.debug('Getting all events between {} and {}'.format(start, end)) elif datepoint is not None: if not datepoint: datepoint = ['now'] try: start, allday = utils.guessdatetimefstr(datepoint, conf['locale'], date.today()) except ValueError: raise FatalError('Invalid value of `{}` for a datetime'.format( ' '.join(datepoint))) if allday: logger.debug('Got date {}'.format(start)) raise FatalError('Please supply a datetime, not a date.') end = start + timedelta(seconds=1) if day_format is None: day_format = style( start.strftime(conf['locale']['longdatetimeformat']), bold=True, ) logger.debug('Getting all events between {} and {}'.format(start, end)) event_column = [] once = set() if once else None if env is None: env = {} original_start = conf['locale']['local_timezone'].localize(start) while start < end: if start.date() == end.date(): day_end = end else: day_end = datetime.combine(start.date(), time.max) current_events = get_events_between( collection, locale=conf['locale'], agenda_format=agenda_format, start=start, end=day_end, notstarted=notstarted, original_start=original_start, env=env, seen=once, width=width, ) if day_format and (conf['default']['show_all_days'] or current_events): event_column.append( format_day(start.date(), day_format, conf['locale'])) event_column.extend(current_events) start = datetime(*start.date().timetuple()[:3]) + timedelta(days=1) if event_column == []: event_column = [style('No events', bold=True)] return event_column
def test_time_now(self): with freeze_time('2016-9-19 17:53'): assert (datetime(2016, 9, 19, 17, 53), False) == \ guessdatetimefstr('now'.split(), locale=LOCALE_BERLIN, default_day=datetime.today())
def test_time_tomorrow(self): assert (self.tomorrow16, False) == \ guessdatetimefstr('16:00'.split(), locale=LOCALE_BERLIN, default_day=tomorrow)
def test_tomorrow(self): assert (self.tomorrow16, False) == \ guessdatetimefstr('tomorrow 16:00 16:00'.split(), locale=LOCALE_BERLIN)
def test_time_now(self): with freeze_time('2016-9-19 17:53'): assert (datetime(2016, 9, 19, 17, 53), False) == \ guessdatetimefstr('now'.split(), locale=locale_de, default_day=datetime.today())
def test_time_tomorrow(self): assert (self.tomorrow16, False) == \ guessdatetimefstr('16:00'.split(), locale=locale_de, default_day=tomorrow)
def test_tomorrow(self): assert (self.tomorrow16, False) == \ guessdatetimefstr('tomorrow 16:00 16:00'.split(), locale=locale_de)
def test_today(self): today13 = datetime.combine(date.today(), time(13, 0)) assert (today13, False) == guessdatetimefstr(['today', '13:00'], locale_de) assert today == guessdatetimefstr(['today'], locale_de)[0].date()