Welcome to mirror list, hosted at ThFree Co, Russian Federation.

precis.py « nbxmpp - dev.gajim.org/gajim/python-nbxmpp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a9102059c6700320f273723839af1836758f72f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19


from precis_i18n import get_profile


_localpart_disallowed_chars = set('"&\'/:<>@')


def enforce_precis_username(localpart: str) -> str:
    if _localpart_disallowed_chars & set(localpart):
        raise ValueError('Input contains prohibited codepoint: %s' % localpart)

    username = get_profile('UsernameCaseMapped')
    return username.enforce(localpart)


def enforce_precis_opaque(resourcepart: str) -> str:
    opaque = get_profile('OpaqueString')
    return opaque.enforce(resourcepart)