Skip to content
This repository was archived by the owner on Jul 12, 2023. It is now read-only.

Commit 851525e

Browse files
authored
Merge pull request #24 from linien-org/develop
2 parents 324b08d + 93d7b46 commit 851525e

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
repos:
22
- repo: https://github.com/psf/black
3-
rev: 22.3.0
3+
rev: 22.10.0
44
hooks:
55
- id: black
6-
language_version: python3.7
76

87
- repo: https://github.com/pycqa/isort
98
rev: 5.10.1

linien_influxdb/app.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
from configparser import ConfigParser
22
from time import sleep
3+
from typing import Any, Dict, List
34

45
import click
56
from influxdb_client import InfluxDBClient, Point
67
from linien.client.connection import LinienClient, MHz, Vpp
78

89

910
class LinienConnection:
10-
def __init__(self, host, username="root", password="root"):
11+
def __init__(self, host: str, username: str = "root", password: str = "root"):
1112
self.client = LinienClient(
1213
{"host": host, "username": username, "password": password}
1314
)
1415

15-
def get_parameters(self, parameters):
16+
def get_parameters(self, parameters: List[str]) -> Dict[str, Any]:
1617

1718
# get the `signal_stats` parameter only once and only if required
1819
stats_suffices = ["_min", "_max", "_mean", "_std"]
@@ -59,7 +60,7 @@ def get_parameters(self, parameters):
5960
is_flag=True,
6061
help="Do not write the logged data to influxdb.",
6162
)
62-
def main(config, print_only):
63+
def main(config: str, print_only: bool):
6364
"""Logs Linien parameters according to the configuration in CONFIG ini file."""
6465
config_parser = ConfigParser(
6566
converters={"list": lambda x: [i.strip() for i in x.split(",")]}
@@ -70,12 +71,12 @@ def main(config, print_only):
7071
bucket = config_parser["influx2"]["bucket"]
7172
measurement = config_parser["influx2"]["measurement"]
7273
interval = config_parser["linien"].getfloat("interval")
73-
parameters = config_parser["linien"].getlist("parameters")
74+
requested_parameters = config_parser["linien"].getlist("parameters")
7475
host = config_parser["linien"]["host"]
7576
username = config_parser["linien"]["username"]
7677
password = config_parser["linien"]["password"]
7778

78-
if len(parameters) == 1 and parameters[0] == "":
79+
if len(requested_parameters) == 1 and requested_parameters[0] == "":
7980
raise ValueError(
8081
"No parameters requested. Add at least one parameter in the .ini file."
8182
)
@@ -87,15 +88,16 @@ def main(config, print_only):
8788
write_api = client.write_api()
8889
while True:
8990
point = Point(measurement)
90-
parameters = connection.get_parameters(parameters=parameters)
91+
parameters = connection.get_parameters(parameters=requested_parameters)
9192
print(parameters)
92-
for key, value in parameters.items():
93+
for key, value in requested_parameters.items():
9394
point.field(key, value)
9495
write_api.write(bucket=bucket, record=point)
9596
sleep(interval)
9697
else:
9798
while True:
98-
parameters = connection.get_parameters(parameters=parameters)
99+
parameters = connection.get_parameters(parameters=requested_parameters)
100+
print(parameters)
99101
sleep(interval)
100102

101103

linien_influxdb/example_config.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ measurement=linien-status
1111
host=rp-f0xxxxx.local
1212
username=root
1313
password=root
14-
interval=10 # log interval in seconds
14+
interval=10
1515
parameters=lock, modulation_amplitude, modulation_frequency, p, i, d, monitor_signal_mean, error_signal_mean, error_signal_std, control_signal_mean

0 commit comments

Comments
 (0)