def test_newsletter_langs(self, mock_get_newsletters): # test get_newsletter_languages clear_caches() mock_get_newsletters.return_value = { 'aaa': {'languages': ['aa', 'bb']}, 'bbb': {'languages': ['aa-YY', 'cc-XX']}, 'ccc': {} } result = get_newsletter_languages() self.assertEqual(set(['aa', 'bb', 'cc']), result)
def test_newsletter_langs(self, mock_get_newsletters): # test get_newsletter_languages clear_caches() mock_get_newsletters.return_value = { 'aaa': { 'languages': ['aa', 'bb'] }, 'bbb': { 'languages': ['aa-YY', 'cc-XX'] }, 'ccc': {} } result = get_newsletter_languages() self.assertEqual(set(['aa', 'bb', 'cc']), result)
def __init__(self, locale, *args, **kwargs): regions = product_details.get_regions(locale) regions = sorted(regions.iteritems(), key=lambda x: x[1]) languages = utils.get_newsletter_languages() lang = country = locale.lower() if '-' in lang: lang, country = lang.split('-', 1) lang = lang if lang in languages else 'en' super(NewsletterForm, self).__init__(*args, **kwargs) self.fields['country'] = forms.ChoiceField(choices=regions, initial=country, required=False) self.fields['lang'] = forms.ChoiceField(choices=self.LANG_CHOICES, initial=lang, required=False)
def get_lang_choices(): """ Return a localized list of choices for language. List looks like: [[lang_code, lang_name], [lang_code, lang_name], ...] """ lang_choices = [] for lang in utils.get_newsletter_languages(): if lang in product_details.languages: lang_name = product_details.languages[lang]['native'] else: try: locale = [loc for loc in product_details.languages.keys() if loc.startswith(lang)][0] except IndexError: continue lang_name = product_details.languages[locale]['native'] lang_choices.append([lang, strip_parenthetical(lang_name)]) return sorted(lang_choices, key=itemgetter(1))
def get_lang_choices(): """ Return a localized list of choices for language. List looks like: [[lang_code, lang_name], [lang_code, lang_name], ...] """ lang_choices = [] for lang in utils.get_newsletter_languages(): if lang in product_details.languages: lang_name = product_details.languages[lang]['native'] else: try: locale = [ loc for loc in product_details.languages.keys() if loc.startswith(lang) ][0] except IndexError: continue lang_name = product_details.languages[locale]['native'] lang_choices.append([lang, strip_parenthetical(lang_name)]) return sorted(lang_choices, key=itemgetter(1))