Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ description = "A driver to facilitate communication between Synnax and Limelight
readme = "README.md"

[project.scripts]
limewire = "limewire.__main__:main"
limewire = "limewire:main"
fc_simulator = "fc_simulator:main"
hydrant = "hydrant:main"

Expand Down
1 change: 0 additions & 1 deletion src/fc_simulator/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

from limewire.util import SocketAddress

from . import errors as errors
from .fc_simulator import FCSimulator


Expand Down
7 changes: 0 additions & 7 deletions src/fc_simulator/errors.py

This file was deleted.

9 changes: 6 additions & 3 deletions src/fc_simulator/fc_simulator.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
import random
import socket
from functools import partial
from typing import Tuple

import asyncudp
import synnax as sy
Expand All @@ -20,7 +19,7 @@
from lmp.util import DeviceCommand


def format_socket_address(addr: Tuple[str, int]) -> str:
def format_socket_address(addr: tuple[str, int]) -> str:
"""Format of addr: [address, port]"""

return addr[0] + ":" + str(addr[1])
Expand Down Expand Up @@ -116,14 +115,16 @@ async def handle_commands(
break

response_msg = await self.get_response_msg(msg_bytes)
if not response_msg:
continue

response_bytes = bytes(response_msg)
writer.write(len(response_bytes).to_bytes(1) + response_bytes)
await writer.drain()

async def get_response_msg(
self, msg_bytes: bytes
) -> ValveStateMessage | DeviceCommandAckMessage:
) -> ValveStateMessage | DeviceCommandAckMessage | None:
"""Return the response message associated with the command message.

Args:
Expand Down Expand Up @@ -155,6 +156,8 @@ async def get_response_msg(
response.response_msg = (
"Build 6.7.67 (commit hash deadbeef)"
)
case _:
pass

return response
case HeartbeatMessage.MSG_ID:
Expand Down
29 changes: 24 additions & 5 deletions src/limewire/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,26 @@
from . import errors
import asyncio

import click

from .limewire import Limewire
from .logging import set_up_logging
from .util import SocketAddress


@click.command(context_settings={"help_option_names": ["--help", "-h"]})
@click.argument(
"fc_address", type=SocketAddress(), default="141.212.192.170:5000"
)
@click.option("--debug", is_flag=True)
@click.option("--overwrite-timestamps", is_flag=True)
def main(fc_address: tuple[str, int], debug: bool, overwrite_timestamps: bool):
"""Run Limewire."""

set_up_logging(debug)

limewire = Limewire(overwrite_timestamps)

__all__ = [
"errors",
"Limewire",
]
try:
asyncio.run(limewire.start(fc_address)) # pyright: ignore[reportPrivateLocalImportUsage]
except KeyboardInterrupt:
pass
33 changes: 0 additions & 33 deletions src/limewire/__main__.py

This file was deleted.

9 changes: 0 additions & 9 deletions src/limewire/errors.py

This file was deleted.

8 changes: 7 additions & 1 deletion src/limewire/limewire.py
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,12 @@ async def _synnax_write(self) -> None:
self.synnax_writer.close()
except sy.ValidationError:
# Why oh why must you be this way Synnax :(
#
# (For context, if a ValidationError occurs, the
# error state doesn't get cleared from the writer, so
# when we try to close the writer it will re-raise the
# error which is why we have to handle it a second time
# here.)
pass

# Writer will get re-initialzed during next loop iteration
Expand All @@ -296,7 +302,7 @@ def _build_synnax_frame(
try:
frame = self._build_telemetry_frame(msg)
except KeyError as err:
logger.error(str(err), extra={"error_code": "0006"})
logger.error(str(err))
return None
else:
frame = self._build_valve_state_frame(msg)
Expand Down
Empty file removed src/plot_latency/__init__.py
Empty file.
15 changes: 0 additions & 15 deletions src/plot_latency/__main__.py

This file was deleted.

43 changes: 0 additions & 43 deletions src/plot_latency/logger.py

This file was deleted.

Loading