diff options
Diffstat (limited to 'bootstrap_datepicker')
-rw-r--r-- | bootstrap_datepicker/widgets.py | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/bootstrap_datepicker/widgets.py b/bootstrap_datepicker/widgets.py index c00b9f1ef..b84006056 100644 --- a/bootstrap_datepicker/widgets.py +++ b/bootstrap_datepicker/widgets.py @@ -45,7 +45,10 @@ class DatePicker(DateTimeInput): 'zh-tw': 'zh-TW', } if len(lang) > 2: - lang = lang_map.get(lang, 'en-us') + if lang in lang_map: + lang = lang_map[lang] + else: + lang = lang.split("-")[0] if lang not in ('en', 'en-us'): yield 'js/locales/bootstrap-datepicker.%s.min.js' % ( lang) @@ -67,16 +70,16 @@ class DatePicker(DateTimeInput): ) @classmethod - def conv_datetime_format_py2js(cls, format): + def conv_datetime_format_py2js(cls, frmat): for js, py in cls.format_map: - format = format.replace(py, js) - return format + frmat = frmat.replace(py, js) + return frmat @classmethod - def conv_datetime_format_js2py(cls, format): + def conv_datetime_format_js2py(cls, frmat): for js, py in cls.format_map: - format = format.replace(js, py) - return format + frmat = frmat.replace(js, py) + return frmat html_template = """ <div%(div_attrs)s> @@ -98,24 +101,24 @@ class DatePicker(DateTimeInput): })(); </script>''' - def __init__(self, attrs=None, format=None, options=None, div_attrs=None, + def __init__(self, attrs=None, frmat=None, options=None, div_attrs=None, icon_attrs=None): if not icon_attrs: icon_attrs = {'class': 'fa fa-calendar fa-2'} if not div_attrs: div_attrs = {'class': 'input-group date'} - if format is None and options and options.get('format'): - format = self.conv_datetime_format_js2py(options.get('format')) - super(DatePicker, self).__init__(attrs, format) + if frmat is None and options and options.get('format'): + frmat = self.conv_datetime_format_js2py(options.get('format')) + super().__init__(attrs, frmat) if 'class' not in self.attrs: self.attrs['class'] = 'form-control' self.div_attrs = div_attrs and div_attrs.copy() or {} self.icon_attrs = icon_attrs and icon_attrs.copy() or {} self.picker_id = self.div_attrs.get('id') or None self.options = options and options.copy() or {} - if format and not self.options.get('format') and not self.attrs.get( + if frmat and not self.options.get('format') and not self.attrs.get( 'date-format'): - self.options['format'] = self.conv_datetime_format_py2js(format) + self.options['format'] = self.conv_datetime_format_py2js(frmat) def format_value(self, value): if not self.options.get('format'): |