mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-22 17:36:34 +03:00
Use an enum for methods' usability
This commit is contained in:
parent
4901447ad6
commit
e4cfd964d5
|
@ -1,11 +1,28 @@
|
||||||
import csv
|
import csv
|
||||||
|
import enum
|
||||||
|
|
||||||
|
|
||||||
|
class Usability(enum.Enum):
|
||||||
|
UNKNOWN = 0
|
||||||
|
USER = 1
|
||||||
|
BOT = 2
|
||||||
|
BOTH = 4
|
||||||
|
|
||||||
|
|
||||||
class MethodInfo:
|
class MethodInfo:
|
||||||
def __init__(self, name, usability, errors):
|
def __init__(self, name, usability, errors):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.usability = usability
|
|
||||||
self.errors = errors
|
self.errors = errors
|
||||||
|
try:
|
||||||
|
self.usability = {
|
||||||
|
'unknown': Usability.UNKNOWN,
|
||||||
|
'user': Usability.USER,
|
||||||
|
'bot': Usability.BOT,
|
||||||
|
'both': Usability.BOTH,
|
||||||
|
}[usability.lower()]
|
||||||
|
except KeyError:
|
||||||
|
raise ValueError('Usability must be either user, bot, both or '
|
||||||
|
'unknown, not {}'.format(usability)) from None
|
||||||
|
|
||||||
|
|
||||||
def parse_methods(csv_file, errors_dict):
|
def parse_methods(csv_file, errors_dict):
|
||||||
|
@ -17,9 +34,6 @@ def parse_methods(csv_file, errors_dict):
|
||||||
f = csv.reader(f)
|
f = csv.reader(f)
|
||||||
next(f, None) # header
|
next(f, None) # header
|
||||||
for line, (method, usability, errors) in enumerate(f, start=2):
|
for line, (method, usability, errors) in enumerate(f, start=2):
|
||||||
if usability not in ('user', 'bot', 'both', 'unknown'):
|
|
||||||
raise ValueError('Usability must be either user, bot, '
|
|
||||||
'both or unknown, not {}'.format(usability))
|
|
||||||
try:
|
try:
|
||||||
errors = [errors_dict[x] for x in errors.split()]
|
errors = [errors_dict[x] for x in errors.split()]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user