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)
|