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'):  | 
