Remove Enum prefixes (#187)
Co-authored-by: nat <n@natn.me> Co-authored-by: Tim Schmidt <w4rum@users.noreply.github.com> Co-authored-by: Arun Babu Neelicattu <arun.neelicattu@gmail.com>
This commit is contained in:
		
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							d9b7608980
						
					
				
				
					commit
					bd7de203e1
				
			| @@ -136,4 +136,8 @@ def lowercase_first(value: str) -> str: | ||||
|  | ||||
| def sanitize_name(value: str) -> str: | ||||
|     # https://www.python.org/dev/peps/pep-0008/#descriptive-naming-styles | ||||
|     return f"{value}_" if keyword.iskeyword(value) else value | ||||
|     if keyword.iskeyword(value): | ||||
|         return f"{value}_" | ||||
|     if not value.isidentifier(): | ||||
|         return f"_{value}" | ||||
|     return value | ||||
|   | ||||
| @@ -11,3 +11,11 @@ def pythonize_field_name(name: str) -> str: | ||||
|  | ||||
| def pythonize_method_name(name: str) -> str: | ||||
|     return casing.safe_snake_case(name) | ||||
|  | ||||
|  | ||||
| def pythonize_enum_member_name(name: str, enum_name: str) -> str: | ||||
|     enum_name = casing.snake_case(enum_name).upper() | ||||
|     find = name.find(enum_name) | ||||
|     if find != -1: | ||||
|         name = name[find + len(enum_name) :].strip("_") | ||||
|     return casing.sanitize_name(name) | ||||
|   | ||||
| @@ -57,7 +57,7 @@ class EnumType(EnumMeta if TYPE_CHECKING else type): | ||||
|         members = { | ||||
|             name: value | ||||
|             for name, value in namespace.items() | ||||
|             if not _is_descriptor(value) and name[0] != "_" | ||||
|             if not _is_descriptor(value) and not name.startswith("__") | ||||
|         } | ||||
|  | ||||
|         cls = type.__new__( | ||||
| @@ -70,9 +70,6 @@ class EnumType(EnumMeta if TYPE_CHECKING else type): | ||||
|         # members become proper class variables | ||||
|  | ||||
|         for name, value in members.items(): | ||||
|             if _is_descriptor(value) or name[0] == "_": | ||||
|                 continue | ||||
|  | ||||
|             member = value_map.get(value) | ||||
|             if member is None: | ||||
|                 member = cls.__new__(cls, name=name, value=value)  # type: ignore | ||||
|   | ||||
| @@ -72,13 +72,13 @@ from betterproto.lib.google.protobuf import ( | ||||
| ) | ||||
| from betterproto.lib.google.protobuf.compiler import CodeGeneratorRequest | ||||
|  | ||||
| from ..casing import sanitize_name | ||||
| from ..compile.importing import ( | ||||
|     get_type_reference, | ||||
|     parse_source_type_name, | ||||
| ) | ||||
| from ..compile.naming import ( | ||||
|     pythonize_class_name, | ||||
|     pythonize_enum_member_name, | ||||
|     pythonize_field_name, | ||||
|     pythonize_method_name, | ||||
| ) | ||||
| @@ -673,7 +673,9 @@ class EnumDefinitionCompiler(MessageCompiler): | ||||
|         # Get entries/allowed values for this Enum | ||||
|         self.entries = [ | ||||
|             self.EnumEntry( | ||||
|                 name=sanitize_name(entry_proto_value.name), | ||||
|                 name=pythonize_enum_member_name( | ||||
|                     entry_proto_value.name, self.proto_obj.name | ||||
|                 ), | ||||
|                 value=entry_proto_value.number, | ||||
|                 comment=get_comment( | ||||
|                     proto_file=self.source_file, path=self.path + [2, entry_number] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user