def released_languages(): """Retrieve the list of released languages. Constructs a list of Language tuples by intersecting the list of valid language tuples with the list of released language codes. Returns: list of Language: Languages in which full translations are available. Example: >>> print released_languages() [Language(code='en', name=u'English'), Language(code='fr', name=u'Français')] """ released_language_codes = DarkLangConfig.current().released_languages_list default_language_code = settings.LANGUAGE_CODE if default_language_code not in released_language_codes: released_language_codes.append(default_language_code) released_language_codes.sort() # Intersect the list of valid language tuples with the list # of release language codes released_languages = [ Language(tuple[0], tuple[1]) for tuple in settings.LANGUAGES if tuple[0] in released_language_codes ] return released_languages
def process_darklang_request(self, request): """ Proccess the request to Set or clear the DarkLang depending on the incoming request. Arguments: request (Request): The Django Request Object Returns: HttpResponse: View containing the form for setting the preview lang with the status included in the context """ context = { 'disable_courseware_js': True, 'uses_pattern_library': True } response = None if not DarkLangConfig.current().enabled: message = _('Preview Language is currently disabled') context.update({'form_submit_message': message}) context.update({'success': False}) response = render_to_response(self.template_name, context, request=request) elif 'set_language' in request.POST: # Set the Preview Language response = self._set_preview_language(request, context) elif 'reset' in request.POST: # Reset and clear the language preference response = self._clear_preview_language(request, context) return response
def released_langs(self): """ Current list of released languages """ language_options = DarkLangConfig.current().released_languages_list if settings.LANGUAGE_CODE not in language_options: language_options.append(settings.LANGUAGE_CODE) return language_options
def process_request(self, request): """ Prevent user from requesting un-released languages except by using the preview-lang query string. """ if not DarkLangConfig.current().enabled: return self._clean_accept_headers(request) self._activate_preview_language(request)
def released_langs(self): """ Current list of released languages """ return DarkLangConfig.current().released_languages_list