def user_language_preference_en_explicit(request, test_session, admin_user): """User Language Preference fixture with English (en) explicit level""" from assembl.models.auth import ( UserLanguagePreference, LanguagePreferenceOrder ) locale_from = 'en' ulp = UserLanguagePreference( user=admin_user, locale=locale_from, preferred_order=0, source_of_evidence=LanguagePreferenceOrder.Explicit.value) def fin(): print("finalizer user_language_preference_cookie") test_session.delete(ulp) test_session.flush() test_session.add(ulp) test_session.flush() request.addfinalizer(fin) return ulp
def user_language_preference_en_mtfrom_de(request, test_session, admin_user): """User Language Preference fixture with English (en) translated from German (de) explicit level""" from assembl.models.auth import ( UserLanguagePreference, LanguagePreferenceOrder ) ulp = UserLanguagePreference( user=admin_user, locale='de', translate='en', preferred_order=0, source_of_evidence=LanguagePreferenceOrder.Explicit.value) def fin(): test_session.delete(ulp) test_session.flush() test_session.add(ulp) test_session.flush() request.addfinalizer(fin) return ulp
def user_language_preference_fr_mtfrom_it(request, test_session, admin_user): """User Language Preference fixture with French (fr) translated from Italian (it) explicit level""" from assembl.models.auth import ( UserLanguagePreference, LanguagePreferenceOrder ) ulp = UserLanguagePreference( user=admin_user, locale='it', translate='fr', preferred_order=0, source_of_evidence=LanguagePreferenceOrder.Explicit.value) def fin(): test_session.delete(ulp) test_session.flush() test_session.add(ulp) test_session.flush() request.addfinalizer(fin) return ulp
def process_locale(locale_code, user, session, source_of_evidence): locale_code = to_posix_string(locale_code) # Updated: Now Locale is a model. Converting posix_string into its # equivalent model. Creates it if it does not exist locale = Locale.get_or_create(locale_code, session) if source_of_evidence in LanguagePreferenceOrder.unique_prefs: lang_pref_signatures = defaultdict(list) for lp in user.language_preference: lang_pref_signatures[lp.source_of_evidence].append(lp) while len(lang_pref_signatures[source_of_evidence]) > 1: # legacy multiple values lp = lang_pref_signatures[source_of_evidence].pop() lp.delete() if len(lang_pref_signatures[source_of_evidence]) == 1: lang_pref_signatures[source_of_evidence][0].locale = locale session.flush() return # else creation below else: lang_pref_signatures = {(lp.locale_id, lp.source_of_evidence) for lp in user.language_preference} if (locale.id, source_of_evidence) in lang_pref_signatures: return lang = UserLanguagePreference(user=user, source_of_evidence=source_of_evidence.value, locale=locale) session.add(lang) session.flush()
def test_user_language_preference_en_to_fr_explicit_and_fr_explicit( admin_user, langstring_body, test_adminuser_webrequest, user_language_preference_en_cookie, user_language_preference_fr_mtfrom_en, test_session, fr_locale): """ User Language Preference: {en: cookie; en-to-fr: Explicit} Add {fr: Explicit} to User Language Preference Expect: IntegrityError """ from sqlalchemy.exc import IntegrityError from assembl.models.auth import ( LanguagePreferenceOrder, UserLanguagePreference ) ulp = UserLanguagePreference( user=admin_user, locale=fr_locale, preferred_order=0, source_of_evidence=LanguagePreferenceOrder.Explicit.value) test_session.add(ulp) test_session.flush() pytest.raises(IntegrityError)
def user_language_preference_it_explicit(request, test_session, it_locale, admin_user): """User Language Preference fixture with Italian (it) explicit level""" from assembl.models.auth import (UserLanguagePreference, LanguagePreferenceOrder) ulp = UserLanguagePreference( user=admin_user, locale=it_locale, preferred_order=0, source_of_evidence=LanguagePreferenceOrder.Explicit.value) def fin(): print "finalizer user_language_preference_cookie" test_session.delete(ulp) test_session.flush() test_session.add(ulp) test_session.flush() request.addfinalizer(fin) return ulp
def user_language_preference_fr_cookie(request, test_session, fr_locale, admin_user): """User Language Preference fixture with French (fr) cookie level""" from assembl.models.auth import (UserLanguagePreference, LanguagePreferenceOrder) locale_from = fr_locale ulp = UserLanguagePreference( user=admin_user, locale=locale_from, preferred_order=0, source_of_evidence=LanguagePreferenceOrder.Cookie.value) def fin(): print "finalizer user_language_preference_cookie" test_session.delete(ulp) test_session.flush() test_session.add(ulp) test_session.flush() request.addfinalizer(fin) return ulp
def user_language_preference_it_mtfrom_en(request, test_session, en_locale, it_locale, admin_user): """User Language Preference fixture with Italian (it) translated from English (en) explicit level""" from assembl.models.auth import (UserLanguagePreference, LanguagePreferenceOrder) ulp = UserLanguagePreference( user=admin_user, locale=en_locale, translate_to_locale=it_locale, preferred_order=0, source_of_evidence=LanguagePreferenceOrder.Explicit.value) def fin(): test_session.delete(ulp) test_session.flush() test_session.add(ulp) test_session.flush() request.addfinalizer(fin) return ulp
def participant1_user_language_preference_en_cookie(request, test_session, en_locale, participant1_user): """Participant 1 User Language Preference fixture with English (en) cookie level""" from assembl.models.auth import (UserLanguagePreference, LanguagePreferenceOrder) locale_from = en_locale ulp = UserLanguagePreference( user=participant1_user, locale=locale_from, preferred_order=0, source_of_evidence=LanguagePreferenceOrder.Cookie.value) def fin(): print("finalizer participant1_user_language_preference_en_cookie") test_session.delete(ulp) test_session.flush() test_session.add(ulp) test_session.flush() request.addfinalizer(fin) return ulp