mirror of
				https://github.com/LonamiWebs/Telethon.git
				synced 2025-10-30 23:47:33 +03:00 
			
		
		
		
	Use an enum for methods' usability
This commit is contained in:
		
							parent
							
								
									4901447ad6
								
							
						
					
					
						commit
						e4cfd964d5
					
				|  | @ -1,11 +1,28 @@ | |||
| import csv | ||||
| import enum | ||||
| 
 | ||||
| 
 | ||||
| class Usability(enum.Enum): | ||||
|     UNKNOWN = 0 | ||||
|     USER = 1 | ||||
|     BOT = 2 | ||||
|     BOTH = 4 | ||||
| 
 | ||||
| 
 | ||||
| class MethodInfo: | ||||
|     def __init__(self, name, usability, errors): | ||||
|         self.name = name | ||||
|         self.usability = usability | ||||
|         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): | ||||
|  | @ -17,9 +34,6 @@ def parse_methods(csv_file, errors_dict): | |||
|         f = csv.reader(f) | ||||
|         next(f, None)  # header | ||||
|         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: | ||||
|                 errors = [errors_dict[x] for x in errors.split()] | ||||
|             except KeyError: | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user