Allow special characters &,-,_ for ship name and callsign

This commit is contained in:
Daniel Schick 2025-07-25 13:05:47 +02:00
parent 7fea4d27b7
commit 62bd6304c4

View File

@ -1,20 +1,19 @@
import typing
from string import ascii_letters, digits
import re
_VALID = re.compile(r'^[\w &-]+$') # \w == Unicode letters+digits+underscore
def check_if_string_has_special_characters(text:typing.Optional[str]):
"""
check, whether there are any characters within the provided string, which are not found in the ascii letters or digits
ascii_letters: abcd (...) and ABCD (...)
digits: 0123 (...)
Formerly, this solution was used but was found to be too restrictive:
Source: https://stackoverflow.com/questions/57062794/is-there-a-way-to-check-if-a-string-contains-special-characters
User: https://stackoverflow.com/users/10035985/andrej-kesely
returns bool
"""
if text is None:
return False
return bool(set(text).difference(ascii_letters + digits + ' '))
return not _VALID.fullmatch(text) if text else False
def check_if_int_is_valid_flag(value, enum_object):