Skip to content

Commit ed1749b

Browse files
committed
Clean up some types
1 parent 74cc20d commit ed1749b

9 files changed

Lines changed: 34 additions & 31 deletions

File tree

shapeshifter_uftp/client/agr_cro_client.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
from ..uftp import AgrPortfolioQuery, AgrPortfolioUpdate, PayloadMessageResponse
1+
from ..uftp import (
2+
AgrPortfolioQuery,
3+
AgrPortfolioUpdate,
4+
PayloadMessageResponse,
5+
UsefRole,
6+
)
27
from .base_client import ShapeshifterClient
38

49

@@ -7,8 +12,8 @@ class ShapeshifterAgrCroClient(ShapeshifterClient):
712
Client that allows the Aggregator to connect to the CRO.
813
"""
914

10-
sender_role = "AGR"
11-
recipient_role = "CRO"
15+
sender_role = UsefRole.AGR
16+
recipient_role = UsefRole.CRO
1217

1318
def send_agr_portfolio_update(self, message: AgrPortfolioUpdate) -> PayloadMessageResponse:
1419
"""

shapeshifter_uftp/client/agr_dso_client.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
FlexSettlementResponse,
99
Metering,
1010
PayloadMessageResponse,
11+
UsefRole,
1112
)
1213
from .base_client import ShapeshifterClient
1314

@@ -17,8 +18,8 @@ class ShapeshifterAgrDsoClient(ShapeshifterClient):
1718
Client that allows the Aggregator to connect to the DSO.
1819
"""
1920

20-
sender_role = "AGR"
21-
recipient_role = "DSO"
21+
sender_role = UsefRole.AGR
22+
recipient_role = UsefRole.DSO
2223

2324
def send_d_prognosis(self, message: DPrognosis) -> PayloadMessageResponse:
2425
"""

shapeshifter_uftp/client/base_client.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@
1111
from ..exceptions import ClientTransportException
1212
from ..logging import logger
1313
from ..oauth import OAuthClient, PassthroughOAuthClient
14-
from ..uftp import PayloadMessage, PayloadMessageResponse, SignedMessage
14+
from ..uftp import PayloadMessage, PayloadMessageResponse, SignedMessage, UsefRole
1515

1616

1717
class ShapeshifterClient:
1818
"""
1919
Basis for all Shapeshifter client.
2020
"""
2121

22-
sender_role: str
23-
recipient_role: str
22+
sender_role: UsefRole
23+
recipient_role: UsefRole
2424
num_outgoing_workers = 10
2525
num_delivery_attempts = 10
2626
request_timeout = 30
@@ -32,9 +32,9 @@ def __init__(
3232
sender_domain: str,
3333
signing_key: str,
3434
recipient_domain: str,
35-
recipient_endpoint: str = None,
36-
recipient_signing_key: str = None,
37-
oauth_client: OAuthClient = None,
35+
recipient_endpoint: str | None = None,
36+
recipient_signing_key: str | None = None,
37+
oauth_client: OAuthClient | None = None,
3838
version: str = "3.1.0"
3939
):
4040
"""
@@ -101,7 +101,6 @@ def _send_message(self, message: PayloadMessage) -> PayloadMessageResponse:
101101
# properties can be calculated in the framework anyway.
102102
message.version = self.version
103103
message.sender_domain = self.sender_domain
104-
message.sender_role = self.sender_role
105104
message.recipient_domain = self.recipient_domain
106105
message.time_stamp = (
107106
message.time_stamp or datetime.now(timezone.utc).isoformat()

shapeshifter_uftp/client/cro_agr_client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from ..uftp import AgrPortfolioQueryResponse, AgrPortfolioUpdateResponse
1+
from ..uftp import AgrPortfolioQueryResponse, AgrPortfolioUpdateResponse, UsefRole
22
from .base_client import ShapeshifterClient
33

44

@@ -7,8 +7,8 @@ class ShapeshifterCroAgrClient(ShapeshifterClient):
77
Client that allows the CRO to connect to the Aggregator.
88
"""
99

10-
sender_role = "CRO"
11-
recipient_role = "AGR"
10+
sender_role = UsefRole.CRO
11+
recipient_role = UsefRole.AGR
1212

1313
def send_agr_portfolio_update_response(self, message: AgrPortfolioUpdateResponse):
1414
"""

shapeshifter_uftp/client/cro_dso_client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from ..uftp import DsoPortfolioQueryResponse, DsoPortfolioUpdateResponse
1+
from ..uftp import DsoPortfolioQueryResponse, DsoPortfolioUpdateResponse, UsefRole
22
from .base_client import ShapeshifterClient
33

44

@@ -15,8 +15,8 @@ class ShapeshifterCroDsoClient(ShapeshifterClient):
1515
DsoPortfolioQuery, respectively.
1616
"""
1717

18-
sender_role = "CRO"
19-
recipient_role = "DSO"
18+
sender_role = UsefRole.CRO
19+
recipient_role = UsefRole.DSO
2020

2121
def send_dso_portfolio_update_response(self, message: DsoPortfolioUpdateResponse):
2222
"""

shapeshifter_uftp/client/dso_agr_client.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
FlexSettlement,
99
MeteringResponse,
1010
PayloadMessageResponse,
11+
UsefRole,
1112
)
1213
from .base_client import ShapeshifterClient
1314

@@ -17,8 +18,8 @@ class ShapeshifterDsoAgrClient(ShapeshifterClient):
1718
Client that allows the DSO to connect to the Aggregator.
1819
"""
1920

20-
sender_role = "DSO"
21-
recipient_role = "AGR"
21+
sender_role = UsefRole.DSO
22+
recipient_role = UsefRole.AGR
2223

2324
def send_d_prognosis_response(self, message: DPrognosisResponse) -> PayloadMessageResponse:
2425
"""

shapeshifter_uftp/client/dso_cro_client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from ..uftp import DsoPortfolioQuery, DsoPortfolioUpdate
1+
from ..uftp import DsoPortfolioQuery, DsoPortfolioUpdate, UsefRole
22
from .base_client import ShapeshifterClient
33

44

@@ -7,8 +7,8 @@ class ShapeshifterDsoCroClient(ShapeshifterClient):
77
Client that allows the DSO to connect to the CRO.
88
"""
99

10-
sender_role = "DSO"
11-
recipient_role = "CRO"
10+
sender_role = UsefRole.DSO
11+
recipient_role = UsefRole.CRO
1212

1313
def send_dso_portfolio_update(self, message: DsoPortfolioUpdate):
1414
"""

shapeshifter_uftp/service/base_service.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import re
22
from concurrent.futures import ThreadPoolExecutor
3-
from datetime import datetime, timezone
43
from threading import Thread
54
from time import sleep
6-
from uuid import uuid4
75

86
import uvicorn
97
from fastapi import FastAPI, Response
@@ -22,7 +20,6 @@
2220
from ..uftp import (
2321
AcceptedRejected,
2422
PayloadMessage,
25-
PayloadMessageResponse,
2623
SignedMessage,
2724
request_response_map,
2825
)
@@ -154,7 +151,7 @@ def stop(self):
154151
# Shapeshifter UFTP implementation. #
155152
# ------------------------------------------------------------ #
156153

157-
def _receive_message(self, message: SignedMessage) -> None:
154+
def _receive_message(self, message: SignedMessage) -> Response:
158155
"""
159156
The default entrypoint for the route. This will unpack the
160157
message and validate the signature. It will thes pass the

shapeshifter_uftp/transport.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
ServiceDiscoveryException,
2323
)
2424
from .logging import logger
25-
from .uftp import PayloadMessage
25+
from .uftp import PayloadMessage, SignedMessage
2626

2727
_context = XmlContext()
2828
serializer = XmlSerializer(context=_context, config=SerializerConfig(indent=" "))
@@ -76,7 +76,7 @@ def unseal_message(message: bytes, public_key: str) -> PayloadMessage:
7676
raise SchemaException(str(exc)) from exc
7777

7878

79-
def to_xml(message: PayloadMessage) -> str:
79+
def to_xml(message: PayloadMessage | SignedMessage) -> str:
8080
"""
8181
Serialize the given PayloadMessage into an XML string.
8282
"""
@@ -174,7 +174,7 @@ def get_keys(domain, role):
174174
)
175175

176176
# Verify that the string is of the expected length (4 + 44 bytes or 4 + 88 bytes)
177-
if not len(result) in (48, 92):
177+
if len(result) not in (48, 92):
178178
raise AuthenticationTimeoutException(
179179
f"Could not retrieve public key(s) at {dns_name}: "
180180
f"string '{result}' was not of appropriate length (48 or 90 characters)"
@@ -190,7 +190,7 @@ def get_keys(domain, role):
190190
) from exc
191191

192192
# Now verify that the decoded length is 64
193-
if not len(combined_keys) in (32, 64):
193+
if len(combined_keys) not in (32, 64):
194194
raise AuthenticationTimeoutException(
195195
f"Could not retrieve public keys at {dns_name}: "
196196
f"decoded base64 data should be 32 or 64 bytes long, "

0 commit comments

Comments
 (0)