def _use_colloquial_usa_short_date(self, value=None): """ Return true if locale is en-US and value (if not None) is a string that matches the 'MM/DD/YYYY' pattern. """ if isinstance(value, basestring): if normalize_usa_date(value) is None: return False # non-conforming: fall back to locales parsing elif value is not None: return False locid = getattr(get_locale(self.widget.request), 'id', None) if locid is None: return True # req without locale, usually test request if locid.territory and locid.language: loc = (locid.language.lower(), locid.territory.upper()) return loc == ('en', 'US') return False
def __call__(self, *args, **kwargs): site_url = getMultiAdapter( (self.context, self.request), name=u'plone_portal_state').portal_url() locale = get_locale(self.request) filename = DEFAULT_FILENAME if locale is not None and locale.id.territory is not None: lang = locale.id.language.lower() terr = locale.id.territory.upper() script = self.locale_id.script if script is not None: lang = '%s-%s' % (lang, script.title()) filename = 'date-%s-%s.js' % (lang, terr) if filename not in DATEJS_FILES: filename = DEFAULT_FILENAME # always redirect to existing file resource = '++resource++%s-datejs/%s' % (PRODNAME, filename) url = '/'.join((site_url, resource)) self.request.response.redirect(url, status=302)