Exemplo n.º 1
0
 def value_from_storage_dict(
     cls,
     storage_dict,
     klass,
     args_for_class,
     whitelist_map,
     descent_path,
 ):
     # Handle case where daemon_type used to be an enum (e.g. DaemonType.SCHEDULER)
     daemon_type = unpack_inner_value(
         storage_dict.get("daemon_type"),
         whitelist_map,
         descent_path=f"{descent_path}.daemon_type",
     )
     return DaemonHeartbeat(
         timestamp=cast(float, storage_dict.get("timestamp")),
         daemon_type=(daemon_type.value if isinstance(
             daemon_type, DaemonType) else daemon_type),
         daemon_id=cast(str, storage_dict.get("daemon_id")),
         errors=[
             unpack_inner_value(
                 storage_dict.get("error"),
                 whitelist_map,
                 descent_path=f"{descent_path}.error",
             )
         ]  # error was replaced with errors
         if storage_dict.get("error") else unpack_inner_value(
             storage_dict.get("errors"),
             whitelist_map,
             descent_path=f"{descent_path}.errors",
         ),
     )
Exemplo n.º 2
0
 def value_from_storage_dict(
     cls,
     storage_dict,
     klass,
     args_for_class,
     whitelist_map,
     descent_path,
 ):
     # unpack all stored fields
     unpacked_dict = {
         key: unpack_inner_value(value, whitelist_map, f"{descent_path}.{key}")
         for key, value in storage_dict.items()
     }
     # called by the serdes layer, delegates to helper method with expanded kwargs
     return pipeline_run_from_storage(**unpacked_dict)