Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter
- CitrineOS core extracted (CSMS OCPP 2.0.1) - OpenOCPP extracted (firmware OCPP 1.6J/2.0.1) - ShapeShifter library installed (pip install -e) - ShapeShifter specification extracted - EVerest extracted TODO updated with progress
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Optional
|
||||
|
||||
from ..enums import AcceptedRejected
|
||||
|
||||
|
||||
@dataclass(kw_only=True)
|
||||
class PayloadMessage:
|
||||
"""
|
||||
:ivar version: Version of the Shapeshifter specification used by the
|
||||
USEF participant sending this message.
|
||||
:ivar sender_domain: The Internet domain of the USEF participant
|
||||
sending this message. When receiving a message, its value should
|
||||
match the value specified in the SignedMessage wrapper:
|
||||
otherwise, the message must be rejected as invalid. When
|
||||
replying to this message, this attribute is used to look up the
|
||||
USEF endpoint the reply message should be delivered to.
|
||||
:ivar recipient_domain: Internet domain of the participant this
|
||||
message is intended for. When sending a message, this attribute,
|
||||
combined with the RecipientRole, is used to look up the USEF
|
||||
endpoint the message should be delivered to.
|
||||
:ivar time_stamp: Date and time this message was created, including
|
||||
the time zone (ISO 8601 formatted as per
|
||||
http://www.w3.org/TR/NOTE-datetime).
|
||||
:ivar message_id: Unique identifier (UUID/GUID as per IETF RFC 4122)
|
||||
for this message, to be generated when composing each message.
|
||||
:ivar conversation_id: Unique identifier (UUID/GUID as per IETF RFC
|
||||
4122) used to correlate responses with requests, to be generated
|
||||
when composing the first message in a conversation and
|
||||
subsequently copied from the original message to each reply
|
||||
message.
|
||||
"""
|
||||
|
||||
version: Optional[str] = field(
|
||||
default="3.1.0",
|
||||
metadata={
|
||||
"name": "Version",
|
||||
"type": "Attribute",
|
||||
"required": True,
|
||||
"pattern": r"(\d+\.\d+\.\d+)",
|
||||
}
|
||||
)
|
||||
sender_domain: Optional[str] = field(
|
||||
default=None,
|
||||
metadata={
|
||||
"name": "SenderDomain",
|
||||
"type": "Attribute",
|
||||
"required": True,
|
||||
"pattern": r"([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}",
|
||||
}
|
||||
)
|
||||
recipient_domain: Optional[str] = field(
|
||||
default=None,
|
||||
metadata={
|
||||
"name": "RecipientDomain",
|
||||
"type": "Attribute",
|
||||
"required": True,
|
||||
"pattern": r"([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}",
|
||||
}
|
||||
)
|
||||
time_stamp: Optional[str] = field(
|
||||
default=None,
|
||||
metadata={
|
||||
"name": "TimeStamp",
|
||||
"type": "Attribute",
|
||||
"required": True,
|
||||
"pattern": r"\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{0,9})?([+-]\d{2}:\d{2}|Z)",
|
||||
}
|
||||
)
|
||||
message_id: Optional[str] = field(
|
||||
default=None,
|
||||
metadata={
|
||||
"name": "MessageID",
|
||||
"type": "Attribute",
|
||||
"required": True,
|
||||
"pattern": r"[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}",
|
||||
}
|
||||
)
|
||||
conversation_id: Optional[str] = field(
|
||||
default=None,
|
||||
metadata={
|
||||
"name": "ConversationID",
|
||||
"type": "Attribute",
|
||||
"required": True,
|
||||
"pattern": r"[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}",
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@dataclass(kw_only=True)
|
||||
class PayloadMessageResponse(PayloadMessage):
|
||||
"""
|
||||
:ivar reference_message_id: MessageID of the message that has just
|
||||
been accepted or rejected.
|
||||
:ivar result: Indication whether the query was executed successfully
|
||||
or failed.
|
||||
:ivar rejection_reason: In case the query failed, this attribute
|
||||
must contain a human-readable description of the failure reason.
|
||||
"""
|
||||
|
||||
result: Optional[AcceptedRejected] = field(
|
||||
default=AcceptedRejected.ACCEPTED,
|
||||
metadata={
|
||||
"name": "Result",
|
||||
"type": "Attribute",
|
||||
"required": True,
|
||||
}
|
||||
)
|
||||
rejection_reason: Optional[str] = field(
|
||||
default=None,
|
||||
metadata={
|
||||
"name": "RejectionReason",
|
||||
"type": "Attribute",
|
||||
},
|
||||
)
|
||||
Reference in New Issue
Block a user