def has_hour(self, date): return date_speller(self, date)['hour'] or date_speller(self, date)['minute'] # View class # The view will automatically use a similarly named template in # templates called contractview.pt . # Template filenames should be all lower case. # The view will render when you request a content object with this # interface with "/@@view" appended unless specified otherwise # using grok.name below. # This will make this view the default view for your content-type
def get_formatted_date(self): date_formated = u'' event = self.real_context date_spel_start = date_speller(event, self.dates.get('start_iso')) date_spel_end = date_speller(event, self.dates.get('end_iso')) # day and month if self.dates.get('same_day'): date_formated = u'{0} {1} {2}'.format( date_spel_start.get('day'), date_spel_start.get('month'), date_spel_start.get('year')) elif self.is_same_month(date_spel_start, date_spel_end): date_formated = u'{0} au {1} {2} {3}'.format( date_spel_start.get('day'), date_spel_end.get('day'), date_spel_start.get('month'), date_spel_start.get('year')) else: date_formated += u'{0} {1} {2} au {3} {4} {5}'.format( date_spel_start.get('day'), date_spel_start.get('month'), date_spel_start.get('year'), date_spel_end.get('day'), date_spel_end.get('month'), date_spel_start.get('year')) # hour if not self.dates.get('whole_day'): if self.dates.get('open_end'): date_formated += _(u' à ') date_formated += u'{0}:{1}'.format( date_spel_start.get('hour'), date_spel_start.get('minute2')) else: date_formated += _(u' de ') date_formated += u'{0}:{1}'.format( date_spel_start.get('hour'), date_spel_start.get('minute2')) date_formated += _(u' à ') date_formated += u'{0}:{1}'.format( date_spel_end.get('hour'), date_spel_end.get('minute2') ) return date_formated
def test_date_speller(self): DT = DateTime(2015, 6, 6, 1, 2, 3) date_spelled = date_speller(self.portal, DT) self.assertEqual(date_spelled['year'], 2015) self.assertEqual(date_spelled['month'], 6) self.assertEqual(date_spelled['month2'], '06') self.assertEqual(date_spelled['day'], 6) self.assertEqual(date_spelled['day2'], '06') self.assertEqual(date_spelled['hour'], 1) self.assertEqual(date_spelled['hour2'], '01') self.assertEqual(date_spelled['minute'], 2) self.assertEqual(date_spelled['minute2'], '02') self.assertEqual(date_spelled['second'], 3) self.assertEqual(date_spelled['second2'], '03') self.assertEqual(date_spelled['week'], 23) # locale specific # TODO: test better. self.assertTrue(isinstance(date_spelled['wkday'], int)) self.assertTrue(isinstance(date_spelled['month_name'], basestring)) self.assertTrue(isinstance(date_spelled['month_abbr'], basestring)) self.assertTrue(isinstance(date_spelled['wkday_name'], basestring)) self.assertTrue(isinstance(date_spelled['wkday_abbr'], basestring))
def test_date_speller(self): DT = DateTime(2015, 6, 6, 1, 2, 3) date_spelled = date_speller(self.portal, DT) self.assertEqual(date_spelled["year"], 2015) self.assertEqual(date_spelled["month"], 6) self.assertEqual(date_spelled["month2"], "06") self.assertEqual(date_spelled["day"], 6) self.assertEqual(date_spelled["day2"], "06") self.assertEqual(date_spelled["hour"], 1) self.assertEqual(date_spelled["hour2"], "01") self.assertEqual(date_spelled["minute"], 2) self.assertEqual(date_spelled["minute2"], "02") self.assertEqual(date_spelled["second"], 3) self.assertEqual(date_spelled["second2"], "03") self.assertEqual(date_spelled["week"], 23) # locale specific # TODO: test better. self.assertTrue(isinstance(date_spelled["wkday"], int)) self.assertTrue(isinstance(date_spelled["month_name"], basestring)) self.assertTrue(isinstance(date_spelled["month_abbr"], basestring)) self.assertTrue(isinstance(date_spelled["wkday_name"], basestring)) self.assertTrue(isinstance(date_spelled["wkday_abbr"], basestring))
def header_string(self): start, end = self._start_end start_dict = start and date_speller(self.context, start) or None end_dict = end and date_speller(self.context, end) or None mode = self.mode main_msgid = None sub_msgid = None if mode == 'all': main_msgid = _(u"all_events", default=u"All events") elif mode == 'past': main_msgid = _(u"past_events", default=u"Past events") elif mode == 'future': main_msgid = _(u"future_events", default=u"Future events") elif mode == 'now': main_msgid = _(u"todays_upcoming_events", default=u"Todays upcoming events") elif mode == 'today': main_msgid = _(u"todays_events", default=u"Todays events") elif mode == '7days': main_msgid = _(u"7days_events", default=u"Events in next 7 days.") sub_msgid = _(u"events_from_until", default=u"${from} until ${until}.", mapping={ 'from': "%s, %s. %s %s" % ( start_dict['wkday'], start.day, start_dict['month'], start.year), 'until': "%s, %s. %s %s" % ( end_dict['wkday'], end.day, end_dict['month'], end.year), } ) elif mode == 'day': main_msgid = _(u"events_on_day", default=u"Events on ${day}", mapping={ 'day': "%s, %s. %s %s" % ( start_dict['wkday'], start.day, start_dict['month'], start.year), } ) elif mode == 'week': main_msgid = _(u"events_in_week", default=u"Events in week ${weeknumber}", mapping={'weeknumber': start.isocalendar()[1]}) sub_msgid = _(u"events_from_until", default=u"${from} until ${until}.", mapping={ 'from': "%s, %s. %s %s" % ( start_dict['wkday'], start.day, start_dict['month'], start.year), 'until': "%s, %s. %s %s" % ( end_dict['wkday'], end.day, end_dict['month'], end.year), } ) elif mode == 'month': main_msgid = _(u"events_in_month", default=u"Events in ${month} ${year}", mapping={ 'month': start_dict['month'], 'year': start.year, } ) trans = self.context.translate return {'main': main_msgid and trans(main_msgid) or '', 'sub': sub_msgid and trans(sub_msgid) or ''}
def date_speller(self, date): return date_speller(self.context, date)
def header_string(self): start, end = self._start_end start_dict = start and date_speller(self.context, start) or None end_dict = end and date_speller(self.context, end) or None mode = self.mode main_msgid = None sub_msgid = None if mode == 'all': main_msgid = _(u"all_events", default=u"All events") elif mode == 'past': main_msgid = _(u"past_events", default=u"Past events") elif mode == 'future': main_msgid = _(u"future_events", default=u"Future events") elif mode == 'now': main_msgid = _(u"todays_upcoming_events", default=u"Todays upcoming events") elif mode == 'today': main_msgid = _(u"todays_events", default=u"Todays events") elif mode == '7days': main_msgid = _(u"7days_events", default=u"Events in next 7 days.") sub_msgid = _( u"events_from_until", default=u"${from} until ${until}.", mapping={ 'from': "%s, %s. %s %s" % (start_dict['wkday'], start.day, start_dict['month'], start.year), 'until': "%s, %s. %s %s" % (end_dict['wkday'], end.day, end_dict['month'], end.year), }) elif mode == 'day': main_msgid = _(u"events_on_day", default=u"Events on ${day}", mapping={ 'day': "%s, %s. %s %s" % (start_dict['wkday'], start.day, start_dict['month'], start.year), }) elif mode == 'week': main_msgid = _(u"events_in_week", default=u"Events in week ${weeknumber}", mapping={'weeknumber': start.isocalendar()[1]}) sub_msgid = _( u"events_from_until", default=u"${from} until ${until}.", mapping={ 'from': "%s, %s. %s %s" % (start_dict['wkday'], start.day, start_dict['month'], start.year), 'until': "%s, %s. %s %s" % (end_dict['wkday'], end.day, end_dict['month'], end.year), }) elif mode == 'month': main_msgid = _(u"events_in_month", default=u"Events in ${month} ${year}", mapping={ 'month': start_dict['month'], 'year': start.year, }) trans = self.context.translate return { 'main': main_msgid and trans(main_msgid) or '', 'sub': sub_msgid and trans(sub_msgid) or '' }