Skip to content

v1alpha8

frequenz.client.common.grid.proto.v1alpha8 ¤

Conversion of grid objects from/to protobuf v1alpha8.

Functions¤

frequenz.client.common.grid.proto.v1alpha8.delivery_area_from_proto ¤

delivery_area_from_proto(
    message: DeliveryArea,
) -> DeliveryArea

Convert a protobuf delivery area message to a delivery area object.

PARAMETER DESCRIPTION
message

The protobuf message to convert.

TYPE: DeliveryArea

RETURNS DESCRIPTION
DeliveryArea

The resulting delivery area object.

Source code in src/frequenz/client/common/grid/proto/v1alpha8/_delivery_area.py
def delivery_area_from_proto(message: delivery_area_pb2.DeliveryArea) -> DeliveryArea:
    """Convert a protobuf delivery area message to a delivery area object.

    Args:
        message: The protobuf message to convert.

    Returns:
        The resulting delivery area object.
    """
    issues: list[str] = []

    code = message.code or None
    if code is None:
        issues.append("code is empty")

    code_type = energy_market_code_type_from_proto(message.code_type)
    if code_type is EnergyMarketCodeType.UNSPECIFIED:
        issues.append("code_type is unspecified")
    elif isinstance(code_type, int):
        issues.append("code_type is unrecognized")

    if issues:
        _logger.warning(
            "Found issues in delivery area: %s | Protobuf message:\n%s",
            ", ".join(issues),
            message,
        )

    return DeliveryArea(code=code, code_type=code_type)

frequenz.client.common.grid.proto.v1alpha8.energy_market_code_type_from_proto ¤

energy_market_code_type_from_proto(
    message: ValueType,
) -> EnergyMarketCodeType | int

Convert a protobuf EnergyMarketCodeType enum value to an enum member.

PARAMETER DESCRIPTION
message

A protobuf EnergyMarketCodeType enum value.

TYPE: ValueType

RETURNS DESCRIPTION
EnergyMarketCodeType | int

The corresponding EnergyMarketCodeType enum member, or the raw int if the protobuf value is not recognized.

Source code in src/frequenz/client/common/grid/proto/v1alpha8/_delivery_area.py
def energy_market_code_type_from_proto(
    message: delivery_area_pb2.EnergyMarketCodeType.ValueType,
) -> EnergyMarketCodeType | int:
    """Convert a protobuf EnergyMarketCodeType enum value to an enum member.

    Args:
        message: A protobuf EnergyMarketCodeType enum value.

    Returns:
        The corresponding EnergyMarketCodeType enum member, or the raw `int` if the
            protobuf value is not recognized.
    """
    return enum_from_proto(message, EnergyMarketCodeType)

frequenz.client.common.grid.proto.v1alpha8.energy_market_code_type_to_proto ¤

energy_market_code_type_to_proto(
    code_type: EnergyMarketCodeType,
) -> ValueType

Convert an EnergyMarketCodeType enum member to a protobuf enum value.

PARAMETER DESCRIPTION
code_type

An EnergyMarketCodeType enum member.

TYPE: EnergyMarketCodeType

RETURNS DESCRIPTION
ValueType

The corresponding protobuf EnergyMarketCodeType enum value.

Source code in src/frequenz/client/common/grid/proto/v1alpha8/_delivery_area.py
def energy_market_code_type_to_proto(
    code_type: EnergyMarketCodeType,
) -> delivery_area_pb2.EnergyMarketCodeType.ValueType:
    """Convert an EnergyMarketCodeType enum member to a protobuf enum value.

    Args:
        code_type: An EnergyMarketCodeType enum member.

    Returns:
        The corresponding protobuf EnergyMarketCodeType enum value.
    """
    return delivery_area_pb2.EnergyMarketCodeType.ValueType(code_type.value)