|
11 | 11 |
|
12 | 12 | import asyncclick as click |
13 | 13 | import grpc |
| 14 | +from frequenz.channels import Receiver |
14 | 15 | from prompt_toolkit import PromptSession |
15 | 16 | from prompt_toolkit.completion import NestedCompleter |
16 | 17 | from prompt_toolkit.history import FileHistory |
|
26 | 27 | ) |
27 | 28 | from ._client import Client |
28 | 29 | from .recurrence import EndCriteria, Frequency, RecurrenceRule, Weekday |
29 | | -from .types import Dispatch |
| 30 | +from .types import Dispatch, DispatchEvent |
30 | 31 |
|
31 | 32 | DEFAULT_DISPATCH_API_URL = "grpc://fz-0004.frequenz.io:50051" |
32 | 33 |
|
@@ -249,11 +250,15 @@ async def list_(ctx: click.Context, /, **filters: Any) -> None: |
249 | 250 | @click.argument("microgrid-id", required=True, type=int) |
250 | 251 | async def stream(ctx: click.Context, microgrid_id: int) -> None: |
251 | 252 | """Stream dispatches.""" |
252 | | - async for message in ctx.obj["client"].stream(microgrid_id=microgrid_id): |
| 253 | + event_stream: Receiver[DispatchEvent] = ctx.obj["client"].stream( |
| 254 | + microgrid_id=microgrid_id |
| 255 | + ) |
| 256 | + async for message in event_stream: |
253 | 257 | if ctx.obj["raw"]: |
254 | 258 | click.echo(pformat(message, compact=True)) |
255 | 259 | else: |
256 | | - print_dispatch(message) |
| 260 | + print(f"Dispatch {message.event.name.lower()}") |
| 261 | + print_dispatch(message.dispatch) |
257 | 262 |
|
258 | 263 |
|
259 | 264 | def parse_recurrence(kwargs: dict[str, Any]) -> RecurrenceRule | None: |
|
0 commit comments