Change the way connection modes are specified

This commit is contained in:
Lonami Exo
2021-09-18 12:49:44 +02:00
parent 783c1771ab
commit 3d36bb7b93
6 changed files with 84 additions and 20 deletions

22
telethon/_misc/enums.py Normal file
View File

@@ -0,0 +1,22 @@
from enum import Enum
class ConnectionMode(Enum):
FULL = 'full'
INTERMEDIATE = 'intermediate'
ABRIDGED = 'abridged'
OBFUSCATED = 'obfuscated'
HTTP = 'http'
def parse_conn_mode(mode):
if isinstance(mode, ConnectionMode):
return mode
elif isinstance(mode, str):
for cm in ConnectionMode:
if mode == cm.value:
return cm
raise ValueError(f'unknown connection mode: {mode!r}')
else:
raise TypeError(f'not a valid connection mode: {type(mode).__name__!r}')