@@ -12,6 +12,7 @@ class SchemeEntryType(enum.IntEnum):
1212 Enumerates all available entry types.
1313 """
1414
15+ TYPE_UNSPECIFIED = 0
1516 DIRECTORY = 1
1617 TABLE = 2
1718 PERS_QUEUE_GROUP = 3
@@ -24,6 +25,10 @@ class SchemeEntryType(enum.IntEnum):
2425 REPLICATION = 16
2526 TOPIC = 17
2627
28+ @classmethod
29+ def _missing_ (cls , value ):
30+ return cls .TYPE_UNSPECIFIED
31+
2732 @staticmethod
2833 def is_table (entry ):
2934 """
@@ -299,7 +304,7 @@ def _wrap_scheme_entry(entry_pb, scheme_entry_cls=None, *args, **kwargs):
299304 return scheme_entry_cls (
300305 entry_pb .name ,
301306 entry_pb .owner ,
302- getattr ( SchemeEntryType , _apis . ydb_scheme . Entry . Type . Name (entry_pb .type ) ),
307+ SchemeEntryType (entry_pb .type ),
303308 _wrap_permissions (entry_pb .effective_permissions ),
304309 _wrap_permissions (entry_pb .permissions ),
305310 entry_pb .size_bytes ,
@@ -318,7 +323,7 @@ def _wrap_list_directory_response(rpc_state, response):
318323 message = _apis .ydb_scheme .ListDirectoryResult ()
319324 response .operation .result .Unpack (message )
320325 children = []
321- supported_items = set ([ i .value for i in SchemeEntryType ] )
326+ supported_items = set (i .value for i in SchemeEntryType )
322327 for children_item in message .children :
323328 if children_item .type not in supported_items :
324329 continue
@@ -328,12 +333,10 @@ def _wrap_list_directory_response(rpc_state, response):
328333 return Directory (
329334 message .self .name ,
330335 message .self .owner ,
331- getattr ( SchemeEntryType , _apis . ydb_scheme . Entry . Type . Name (message .self .type ) ),
336+ SchemeEntryType (message .self .type ),
332337 _wrap_permissions (message .self .effective_permissions ),
333338 _wrap_permissions (message .self .permissions ),
334- tuple (
335- children ,
336- ),
339+ tuple (children ),
337340 )
338341
339342
0 commit comments