Loading src/context/service/database/models/enums/_GrpcToEnum.py +10 −2 Original line number Diff line number Diff line Loading @@ -14,16 +14,21 @@ import re from enum import Enum from typing import Optional from typing import Any, Optional # Enumeration classes are redundant with gRPC classes, but gRPC does not provide a programmatical method to retrieve # the values it expects from strings containing the desired value symbol or its integer value, so a kind of mapping is # required. Besides, ORM Models expect Enum classes in EnumeratedFields; we create specific and conveniently defined # Enum classes to serve both purposes. def grpc_to_enum(grpc_enum_class, orm_enum_class : Enum, grpc_enum_value, grpc_enum_prefix : Optional[str] = None): def grpc_to_enum( grpc_enum_class, orm_enum_class : Enum, grpc_enum_value, grpc_enum_prefix : Optional[str] = None, fail_if_not_found : bool = False ) -> Optional[Any]: enum_name = grpc_enum_class.Name(grpc_enum_value) _orig_enum_name = enum_name _orig_grpc_enum_prefix = grpc_enum_prefix if grpc_enum_prefix is None: grpc_enum_prefix = orm_enum_class.__name__.upper() #grpc_enum_prefix = re.sub(r'^ORM_(.+)$', r'\1', grpc_enum_prefix) Loading @@ -35,4 +40,7 @@ def grpc_to_enum(grpc_enum_class, orm_enum_class : Enum, grpc_enum_value, grpc_e enum_name = enum_name.replace(grpc_enum_prefix, '') orm_enum_value = orm_enum_class._member_map_.get(enum_name) if orm_enum_value is None and fail_if_not_found: MSG = 'Unable to map gRPC Enum Value ({:s} / {:s}) to ORM Enum Value; grpc_enum_prefix={:s}' raise Exception(MSG.format(str(grpc_enum_value), str(_orig_enum_name), str(_orig_grpc_enum_prefix))) return orm_enum_value src/context/service/database/Device.py +1 −1 File changed.Contains only whitespace changes. Show changes Loading
src/context/service/database/models/enums/_GrpcToEnum.py +10 −2 Original line number Diff line number Diff line Loading @@ -14,16 +14,21 @@ import re from enum import Enum from typing import Optional from typing import Any, Optional # Enumeration classes are redundant with gRPC classes, but gRPC does not provide a programmatical method to retrieve # the values it expects from strings containing the desired value symbol or its integer value, so a kind of mapping is # required. Besides, ORM Models expect Enum classes in EnumeratedFields; we create specific and conveniently defined # Enum classes to serve both purposes. def grpc_to_enum(grpc_enum_class, orm_enum_class : Enum, grpc_enum_value, grpc_enum_prefix : Optional[str] = None): def grpc_to_enum( grpc_enum_class, orm_enum_class : Enum, grpc_enum_value, grpc_enum_prefix : Optional[str] = None, fail_if_not_found : bool = False ) -> Optional[Any]: enum_name = grpc_enum_class.Name(grpc_enum_value) _orig_enum_name = enum_name _orig_grpc_enum_prefix = grpc_enum_prefix if grpc_enum_prefix is None: grpc_enum_prefix = orm_enum_class.__name__.upper() #grpc_enum_prefix = re.sub(r'^ORM_(.+)$', r'\1', grpc_enum_prefix) Loading @@ -35,4 +40,7 @@ def grpc_to_enum(grpc_enum_class, orm_enum_class : Enum, grpc_enum_value, grpc_e enum_name = enum_name.replace(grpc_enum_prefix, '') orm_enum_value = orm_enum_class._member_map_.get(enum_name) if orm_enum_value is None and fail_if_not_found: MSG = 'Unable to map gRPC Enum Value ({:s} / {:s}) to ORM Enum Value; grpc_enum_prefix={:s}' raise Exception(MSG.format(str(grpc_enum_value), str(_orig_enum_name), str(_orig_grpc_enum_prefix))) return orm_enum_value
src/context/service/database/Device.py +1 −1 File changed.Contains only whitespace changes. Show changes