friction_loss.utils.custom_plugin_utils

 1import datetime as dt
 2from typing import Dict
 3
 4from custom_plugin_base.grpc_protos.Server.v1.baseEntity_pb2 import EntityReply
 5from custom_plugin_base.server.calculation import SolveRequest
 6from custom_plugin_base.services.clients.base_entity_client import BaseEntityClient
 7
 8
 9def datetime_from_message(timestamp_message) -> dt.datetime:
10    return dt.datetime.fromtimestamp(0, tz=dt.timezone.utc) + dt.timedelta(seconds=timestamp_message.seconds +
11                                                                                   timestamp_message.nanos / 1e9)
12
13
14def get_entities(request: SolveRequest) -> Dict[str, object]:
15    """
16    Функция позволяющая получать сущность по Id
17    """
18    entity_client = BaseEntityClient()
19    reply = entity_client.get_with_children(id=request.test_id)
20    entities = _get_dto_from_oneof(reply)
21
22    return entities
23
24
25def _get_dto_from_oneof(reply: EntityReply) -> Dict[str, object]:
26    """
27    Функция позволяет по значению Id получить словарь сущностей
28    """
29    response = {}
30
31    def _add_to_dict(message):
32        if message.Id != '':
33            response[message.Id] = message
34
35    for entity in reply.Entities:
36        _add_to_dict(entity.IntersectionMessage)
37        _add_to_dict(entity.IntersectionParameterValueMessage)
38        _add_to_dict(entity.IntersectionInfluenceMessage)
39        _add_to_dict(entity.IntersectionInfluenceParameterValueMessage)
40        _add_to_dict(entity.LayerMessage)
41        _add_to_dict(entity.LayerGridMessage)
42        _add_to_dict(entity.LayerParameterValueMessage)
43        _add_to_dict(entity.LayerSurfaceMessage)
44        _add_to_dict(entity.NoiseSampleMessage)
45        _add_to_dict(entity.LanguageMessage)
46        _add_to_dict(entity.ProjectMessage)
47        _add_to_dict(entity.PvtCurveMessage)
48        _add_to_dict(entity.PvtMessage)
49        _add_to_dict(entity.PvtParameterValueMessage)
50        _add_to_dict(entity.ScalCurveMessage)
51        _add_to_dict(entity.ScalMessage)
52        _add_to_dict(entity.ScalGraphicMessage)
53        _add_to_dict(entity.ScalParameterValueMessage)
54        _add_to_dict(entity.SlopeMessage)
55        _add_to_dict(entity.SolversSettingMessage)
56        _add_to_dict(entity.SolversSettingParameterValueMessage)
57        _add_to_dict(entity.TestMessage)
58        _add_to_dict(entity.WellMessage)
59        _add_to_dict(entity.WellParameterValueMessage)
60        _add_to_dict(entity.WellInfluenceMessage)
61        _add_to_dict(entity.WellInfluenceParameterValueMessage)
62        _add_to_dict(entity.WellInfluenceSlopeMessage)
63        _add_to_dict(entity.BoundaryPointMessage)
64        _add_to_dict(entity.LayerBoundaryMessage)
65        _add_to_dict(entity.DataFieldMessage)
66        _add_to_dict(entity.DataFieldParameterValueMessage)
67        _add_to_dict(entity.FaultMessage)
68        _add_to_dict(entity.FaultPointMessage)
69        _add_to_dict(entity.GaugeMessage)
70        _add_to_dict(entity.GaugePocketMessage)
71        _add_to_dict(entity.PtaPocketMessage)
72        _add_to_dict(entity.PtaTransientMessage)
73        _add_to_dict(entity.RateMessage)
74        _add_to_dict(entity.RatePocketMessage)
75        _add_to_dict(entity.TransientsMessage)
76        _add_to_dict(entity.RtaCurveMessage)
77        _add_to_dict(entity.RtaCurvePocketMessage)
78        _add_to_dict(entity.RtaTransientMessage)
79        _add_to_dict(entity.TraPocketMessage)
80        _add_to_dict(entity.TraWellInfluenceMessage)
81        _add_to_dict(entity.PtaParameterValueMessage)
82        _add_to_dict(entity.DFactorAnalysisMessage)
83        _add_to_dict(entity.CrossValidationIntervalMessage)
84        _add_to_dict(entity.RtaParameterValueMessage)
85        _add_to_dict(entity.PtaGraphMessage)
86        _add_to_dict(entity.TraGraphMessage)
87        _add_to_dict(entity.RtaGraphMessage)
88        _add_to_dict(entity.GaugeGraphMessage)
89
90    return response
def datetime_from_message(timestamp_message) -> datetime.datetime:
10def datetime_from_message(timestamp_message) -> dt.datetime:
11    return dt.datetime.fromtimestamp(0, tz=dt.timezone.utc) + dt.timedelta(seconds=timestamp_message.seconds +
12                                                                                   timestamp_message.nanos / 1e9)
def get_entities( request: custom_plugin_base.server.calculation.SolveRequest) -> Dict[str, object]:
15def get_entities(request: SolveRequest) -> Dict[str, object]:
16    """
17    Функция позволяющая получать сущность по Id
18    """
19    entity_client = BaseEntityClient()
20    reply = entity_client.get_with_children(id=request.test_id)
21    entities = _get_dto_from_oneof(reply)
22
23    return entities

Функция позволяющая получать сущность по Id