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 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