mirror of https://gitlab.com/bashrc2/epicyon
Allow dashes in nicknames
parent
913325a1b4
commit
02b1df6f73
18
src/tests.py
18
src/tests.py
|
|
@ -5376,6 +5376,24 @@ def _test_valid_nick():
|
|||
nickname = 'abc.def'
|
||||
assert valid_nickname(domain, nickname)
|
||||
|
||||
nickname = '.abc.def'
|
||||
assert not valid_nickname(domain, nickname)
|
||||
|
||||
nickname = 'abc..def'
|
||||
assert not valid_nickname(domain, nickname)
|
||||
|
||||
nickname = 'abc-def'
|
||||
assert valid_nickname(domain, nickname)
|
||||
|
||||
nickname = 'abc--def'
|
||||
assert not valid_nickname(domain, nickname)
|
||||
|
||||
nickname = '-abc-def-'
|
||||
assert not valid_nickname(domain, nickname)
|
||||
|
||||
nickname = 'abc_def'
|
||||
assert valid_nickname(domain, nickname)
|
||||
|
||||
|
||||
def _test_guess_tag_category() -> None:
|
||||
print('test_guess_hashtag_category')
|
||||
|
|
|
|||
15
src/utils.py
15
src/utils.py
|
|
@ -2538,7 +2538,18 @@ def _is_valid_language(text: str) -> bool:
|
|||
}
|
||||
for char in text:
|
||||
# allowed characters
|
||||
if char.isdigit() or char == '_' or char == '.':
|
||||
if char.isdigit() or char == '_':
|
||||
if '__' not in text:
|
||||
continue
|
||||
char_allowed = False
|
||||
for check_char in ('.', '-'):
|
||||
if char == check_char and \
|
||||
not text.startswith(check_char) and \
|
||||
not text.endswith(check_char):
|
||||
if check_char + check_char not in text:
|
||||
char_allowed = True
|
||||
break
|
||||
if char_allowed:
|
||||
continue
|
||||
# character should exist in at least one language
|
||||
char_found = False
|
||||
|
|
@ -3294,7 +3305,7 @@ def valid_hash_tag(hashtag: str) -> bool:
|
|||
if len(hashtag) >= 32:
|
||||
return False
|
||||
# numbers are not permitted to be hashtags
|
||||
if hashtag.isdigit() or '.' in hashtag:
|
||||
if hashtag.isdigit() or '.' in hashtag or '-' in hashtag:
|
||||
return False
|
||||
if set(hashtag).issubset(VALID_HASHTAG_CHARS):
|
||||
return True
|
||||
|
|
|
|||
Loading…
Reference in New Issue