Remove prefix from nickname

main
bashrc 2026-08-17 13:27:05 +01:00
parent f1173c1057
commit aef20fc198
1 changed files with 16 additions and 14 deletions

View File

@ -1447,6 +1447,17 @@ def _remove_did_prefix(nickname: str) -> str:
return nickname.replace('did:plc:', '')
def _tidy_nickname(nickname: str) -> str:
"""Cleans up a nickname
"""
nickname = _remove_did_prefix(nickname)
if ':' in nickname:
nickname = nickname.split(':')[0]
if nickname.startswith('?') and '=' in nickname:
nickname = nickname.split('=')[1]
return nickname
def get_nickname_from_actor(actor: str) -> str:
"""Returns the nickname from an actor url
"""
@ -1463,13 +1474,10 @@ def get_nickname_from_actor(actor: str) -> str:
nick_str: str = actor.split(possible_path)[1].replace('@', '')
if '/' not in nick_str:
nick_str = _remove_did_prefix(nick_str)
if ':' in nick_str:
nick_str = nick_str.split(':')[0]
nick_str = _tidy_nickname(nick_str)
return nick_str
nick_str = nick_str.split('/')[0]
nick_str = _remove_did_prefix(nick_str)
if ':' in nick_str:
nick_str = nick_str.split(':')[0]
nick_str = _tidy_nickname(nick_str)
return nick_str
if '/@/' not in actor:
if '/@' in actor:
@ -1477,15 +1485,11 @@ def get_nickname_from_actor(actor: str) -> str:
nick_str: str = actor.split('/@')[1]
if '/' in nick_str:
nick_str = nick_str.split('/')[0]
nick_str = _remove_did_prefix(nick_str)
if ':' in nick_str:
nick_str = nick_str.split(':')[0]
nick_str = _tidy_nickname(nick_str)
return nick_str
if '@' in actor:
nick_str: str = actor.split('@')[0]
nick_str = _remove_did_prefix(nick_str)
if ':' in nick_str:
nick_str = nick_str.split(':')[0]
nick_str = _tidy_nickname(nick_str)
return nick_str
if '://' in actor:
domain: str = actor.split('://')[1]
@ -1496,9 +1500,7 @@ def get_nickname_from_actor(actor: str) -> str:
nick_str: str = actor.split('://' + domain + '/')[1]
if '/' in nick_str or '.' in nick_str:
return None
nick_str = _remove_did_prefix(nick_str)
if ':' in nick_str:
nick_str = nick_str.split(':')[0]
nick_str = _tidy_nickname(nick_str)
return nick_str
return None