Commit ca3b28c9 by Oleksandr Barabash

absl added

parent 08410532
...@@ -6,7 +6,8 @@ import sys ...@@ -6,7 +6,8 @@ import sys
from asyncio import AbstractEventLoop from asyncio import AbstractEventLoop
from typing import Optional from typing import Optional
import numpy as np from absl import app, flags
from absl.flags import FLAGS
from marshmallow import EXCLUDE from marshmallow import EXCLUDE
from utils.ether_service.entities.data.kr_packet import KrPacketV2 from utils.ether_service.entities.data.kr_packet import KrPacketV2
...@@ -17,6 +18,10 @@ from utils.ws_client import WSClient ...@@ -17,6 +18,10 @@ from utils.ws_client import WSClient
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
flags.DEFINE_string('station_id', None, "Station_id")
flags.DEFINE_string('file_name', None, "File where to save the history")
def init_logging(filename=None, level=None): def init_logging(filename=None, level=None):
""" init logging on the app level """ """ init logging on the app level """
logging_config = {"format": "%(message)s", logging_config = {"format": "%(message)s",
...@@ -50,12 +55,7 @@ def try_to_log(kr_packet: KrPacketV2, ...@@ -50,12 +55,7 @@ def try_to_log(kr_packet: KrPacketV2,
logging.error("save to file error!", exc_info=sys.exc_info()) logging.error("save to file error!", exc_info=sys.exc_info())
# noinspection PyShadowingNames def handle_message(data: bytes) -> None:
def handle_message(station_name: Optional[str] = None,
log_name: Optional[str] = None) -> "(_: bytes) -> None":
""" Handle Message """
def wrapped(data: bytes) -> None:
""" Handle Message """ """ Handle Message """
message = json_loads(data) message = json_loads(data)
if message is None: if message is None:
...@@ -65,26 +65,29 @@ def handle_message(station_name: Optional[str] = None, ...@@ -65,26 +65,29 @@ def handle_message(station_name: Optional[str] = None,
# noinspection PyBroadException # noinspection PyBroadException
try: try:
kr_packet = KrPacketV2.load(message, unknown=EXCLUDE) kr_packet = KrPacketV2.load(message, unknown=EXCLUDE)
if station_name is None or \ station_id = FLAGS.station_id
station_name.lower() == kr_packet.station_id.lower(): if station_id is None or \
station_id.lower() == kr_packet.station_id.lower():
logging.info(f"{kr_packet}") logging.info(f"{kr_packet}")
try_to_log(kr_packet, log_name) try_to_log(kr_packet)
except Exception: except Exception:
logging.error("handle_message: Error!", exc_info=sys.exc_info()) logging.error("handle_message: Error!", exc_info=sys.exc_info())
return wrapped
# noinspection PyShadowingNames # noinspection PyShadowingNames
def main(io_loop: AbstractEventLoop, def main(argv) -> None:
station_name: Optional[str] = None,
log_name: Optional[str] = None) -> None:
""" Main """ """ Main """
logging.getLogger("geventwebsocket").level = logging.WARNING
logging.getLogger("asyncio").level = logging.INFO
logging_level = logging.INFO
init_logging(level=logging_level)
io_loop = asyncio.get_event_loop()
ws_client = WSClient(io_loop=io_loop, scheme="https", host="cds.s1z.info", ws_client = WSClient(io_loop=io_loop, scheme="https", host="cds.s1z.info",
path="/api/v1/ws-agg", path="/api/v1/ws-agg",
user="kraken", password="kraken", ca_file="./ca.pem", user="kraken", password="kraken", ca_file="./ca.pem",
on_data_handler=handle_message(station_name, on_data_handler=handle_message)
log_name))
ws_client.start() ws_client.start()
signal.signal(signal.SIGINT, stop_server(ws_client, io_loop)) signal.signal(signal.SIGINT, stop_server(ws_client, io_loop))
signal.signal(signal.SIGTERM, stop_server(ws_client, io_loop)) signal.signal(signal.SIGTERM, stop_server(ws_client, io_loop))
...@@ -92,16 +95,4 @@ def main(io_loop: AbstractEventLoop, ...@@ -92,16 +95,4 @@ def main(io_loop: AbstractEventLoop,
if __name__ == "__main__": if __name__ == "__main__":
logging.getLogger("geventwebsocket").level = logging.WARNING app.run(main)
logging.getLogger("asyncio").level = logging.INFO
logging_level = logging.INFO
init_logging(level=logging_level)
loop = asyncio.get_event_loop()
station_name, file_name = None, None
if len(sys.argv) > 1:
station_name = sys.argv[1]
if len(sys.argv) > 2:
file_name = sys.argv[2]
main(loop, station_name, file_name)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment