def get_weekday_properties(): dayabbrs = WEEKDAYS_ABBR.values() * 2 daynames = WEEKDAYS.values() * 2 weekday_names = [] weekday_abbrs = [] first_dow = standardise_first_dow(formats.get_format('FIRST_DAY_OF_WEEK')) for i in range(first_dow, first_dow + 7): weekday_names.append(daynames[i]) weekday_abbrs.append(dayabbrs[i]) return weekday_names, weekday_abbrs
def test_day_names_property(self): for obj in self.objects: assert_equal(obj.day_names, WEEKDAYS.values()) assert_equal(obj.day_names[0], 'Monday') assert_equal(obj.day_names[6], 'Sunday')
def __init__(self, attrs=None, format=None, datepicker_class='datepicker', params=None): params = params or {} attrs = attrs or {} class_attr = attrs.get('class', datepicker_class) if datepicker_class not in class_attr: attrs.update({ 'class': '{0} {1}'.format(class_attr, datepicker_class), 'readonly': True, }) else: attrs.update({ 'class': 'datepicker', 'readonly': True, }) super(DatePickerWidget, self).__init__(attrs, format) self.params = { 'changeMonth': True, 'changeYear': True, 'yearRange': '2000:2050', } self.regional = { 'closeText': _('Close'), 'prevText': _('Previous'), 'nextText': _('Next'), 'currentText': _('Current'), 'monthNames': map(unicode, MONTHS_ALT.values()), 'monthNamesShort': map(unicode, MONTHS_AP.values()), 'dayNames': map(unicode, WEEKDAYS.values()), 'dayNamesShort': map(unicode, WEEKDAYS_ABBR.values()), 'dayNamesMin': map(unicode, WEEKDAYS_ABBR.values()), 'isRTL': get_language_bidi(), # weekHeader # dateFormat # firstDay # showMonthAfterYear # yearSuffix } # Update the datepicker parameters self.params.update(params) pattern = re.compile( r'(?<!\w)(' + '|'.join(PYTHON_TO_DATEPICKER_FORMAT.keys()) + r')\b' ) if params.get('beforeShowDay'): raise NotImplementedError( u'beforeShowDay is not supported. Please add the function to ' u'the template.' ) if not params.get('dateFormat'): self.params.update({ 'dateFormat': pattern.sub( lambda x: PYTHON_TO_DATEPICKER_FORMAT[x.group()], self.format ) }) import datetime min_date = self.params.get('minDate') if min_date: if isinstance(min_date, datetime.date): self.params.update({ 'minDate': self.params['minDate'].strftime( format=self.format ) }) elif isinstance(min_date, datetime.datetime): self.params.update({ 'maxDate': min_date.strftime( format=self.format ) }) max_date = self.params.get('maxDate') if max_date: if isinstance(max_date, datetime.date): self.params.update({ 'maxDate': max_date.strftime( format=self.format ) }) elif isinstance(max_date, datetime.datetime): self.params.update({ 'maxDate': max_date.strftime( format=self.format ) })