Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
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()
Exemple #5
0
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