Skip to content

Commit f163413

Browse files
Replace the local PaginationParams type with the frequenz-client-common one (#58)
* Remove the locally defined `PaginationParams` * Import `Params` from the common client `frequenz-client-common`
2 parents da41bc8 + 087afd9 commit f163413

File tree

5 files changed

+9
-47
lines changed

5 files changed

+9
-47
lines changed

RELEASE_NOTES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
* Replace assert statements with proper exception handling
1414
* Implement client instance reuse to avoid redundant TCP connections
1515
* Move documentation and code examples to the documentation website
16+
* Replace the local `PaginationParams` type with the `frequenz-client-common` one
1617

1718
## Bug Fixes
1819

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ dependencies = [
3232
"grpcio >= 1.66.1, < 2",
3333
"frequenz-channels >= 1.0.0, < 2",
3434
"frequenz-client-base >= 0.6.1, < 0.7.0",
35+
"frequenz-client-common >= 0.1.0, < 0.3.0",
3536
"frequenz-api-electricity-trading >= 0.2.3, < 1",
3637
"protobuf >= 5.27.2, < 6",
3738
]

src/frequenz/client/electricity_trading/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,6 @@
176176
OrderExecutionOption,
177177
OrderState,
178178
OrderType,
179-
PaginationParams,
180179
Price,
181180
PublicTrade,
182181
PublicTradeFilter,
@@ -204,7 +203,6 @@
204203
"OrderExecutionOption",
205204
"OrderState",
206205
"OrderType",
207-
"PaginationParams",
208206
"Price",
209207
"PublicTrade",
210208
"PublicTradeFilter",

src/frequenz/client/electricity_trading/_client.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from frequenz.channels import Receiver
1919
from frequenz.client.base.client import BaseApiClient
2020
from frequenz.client.base.streaming import GrpcStreamBroadcaster
21+
from frequenz.client.common.pagination import Params
2122
from google.protobuf import field_mask_pb2, struct_pb2
2223

2324
from ._types import (
@@ -32,7 +33,6 @@
3233
OrderExecutionOption,
3334
OrderState,
3435
OrderType,
35-
PaginationParams,
3636
Price,
3737
PublicTrade,
3838
PublicTradeFilter,
@@ -725,7 +725,7 @@ async def list_gridpool_orders(
725725
tag=tag,
726726
)
727727

728-
pagination_params = PaginationParams(
728+
pagination_params = Params(
729729
page_size=max_nr_orders,
730730
page_token=page_token,
731731
)
@@ -737,7 +737,7 @@ async def list_gridpool_orders(
737737
electricity_trading_pb2.ListGridpoolOrdersRequest(
738738
gridpool_id=gridpool_id,
739739
filter=gridpool_order_filer.to_pb(),
740-
pagination_params=pagination_params.to_pb(),
740+
pagination_params=pagination_params.to_proto(),
741741
),
742742
metadata=self._metadata,
743743
),
@@ -797,7 +797,7 @@ async def list_gridpool_trades(
797797
delivery_area=delivery_area,
798798
)
799799

800-
pagination_params = PaginationParams(
800+
pagination_params = Params(
801801
page_size=max_nr_trades,
802802
page_token=page_token,
803803
)
@@ -809,7 +809,7 @@ async def list_gridpool_trades(
809809
electricity_trading_pb2.ListGridpoolTradesRequest(
810810
gridpool_id=gridpool_id,
811811
filter=gridpool_trade_filter.to_pb(),
812-
pagination_params=pagination_params.to_pb(),
812+
pagination_params=pagination_params.to_proto(),
813813
),
814814
metadata=self._metadata,
815815
),
@@ -854,7 +854,7 @@ async def list_public_trades(
854854
sell_delivery_area=sell_delivery_area,
855855
)
856856

857-
pagination_params = PaginationParams(
857+
pagination_params = Params(
858858
page_size=max_nr_trades,
859859
page_token=page_token,
860860
)
@@ -865,7 +865,7 @@ async def list_public_trades(
865865
self.stub.ListPublicTrades(
866866
electricity_trading_pb2.ListPublicTradesRequest(
867867
filter=public_trade_filter.to_pb(),
868-
pagination_params=pagination_params.to_pb(),
868+
pagination_params=pagination_params.to_proto(),
869869
),
870870
metadata=self._metadata,
871871
),

src/frequenz/client/electricity_trading/_types.py

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
# pylint: disable=no-member
1818
from frequenz.api.common.v1.grid import delivery_area_pb2, delivery_duration_pb2
1919
from frequenz.api.common.v1.market import energy_pb2, price_pb2
20-
from frequenz.api.common.v1.pagination import pagination_params_pb2
2120
from frequenz.api.common.v1.types import decimal_pb2
2221
from frequenz.api.electricity_trading.v1 import electricity_trading_pb2
2322
from google.protobuf import json_format, struct_pb2, timestamp_pb2
@@ -411,43 +410,6 @@ def to_pb(self) -> delivery_duration_pb2.DeliveryPeriod:
411410
)
412411

413412

414-
@dataclass(frozen=True)
415-
class PaginationParams:
416-
"""Parameters for paginating list requests."""
417-
418-
page_size: int | None = None
419-
"""The maximum number of results to be returned per request."""
420-
421-
page_token: str | None = None
422-
"""The token identifying a specific page of the list results."""
423-
424-
@classmethod
425-
def from_pb(cls, pagination_params: pagination_params_pb2.PaginationParams) -> Self:
426-
"""Convert a protobuf PaginationParams to PaginationParams object.
427-
428-
Args:
429-
pagination_params: PaginationParams to convert.
430-
431-
Returns:
432-
PaginationParams object corresponding to the protobuf message.
433-
"""
434-
return cls(
435-
page_size=pagination_params.page_size,
436-
page_token=pagination_params.page_token,
437-
)
438-
439-
def to_pb(self) -> pagination_params_pb2.PaginationParams:
440-
"""Convert a PaginationParams object to protobuf PaginationParams.
441-
442-
Returns:
443-
Protobuf message corresponding to the PaginationParams object.
444-
"""
445-
return pagination_params_pb2.PaginationParams(
446-
page_size=self.page_size,
447-
page_token=self.page_token,
448-
)
449-
450-
451413
# From electricity trading api
452414

453415

0 commit comments

Comments
 (0)