pull/6/head
xss 2022-02-27 11:57:17 +11:00
rodzic f1572268a5
commit bb75fca58e
3 zmienionych plików z 15 dodań i 5 usunięć

Wyświetl plik

@ -1,6 +1,6 @@
[tool.poetry]
name = "sondehub"
version = "0.2.0"
version = "0.2.1"
description = "SDK to access SondeHub open data"
authors = ["Michaela <git@michaela.lgbt>"]
readme = "README.md"

Wyświetl plik

@ -21,7 +21,8 @@ class Stream:
on_message=None,
on_log=None,
on_disconnect=None, asJson=False,
auto_start_loop=True):
auto_start_loop=True,
prefix="sondes"):
self.mqttc = mqtt.Client(transport="websockets")
self._sondes = sondes
self.asJson = asJson
@ -30,6 +31,7 @@ class Stream:
self.on_disconnect = on_disconnect
self.on_log = on_log
self.auto_start_loop = auto_start_loop
self.prefix = prefix
self.ws_connect()
self.loop_start = self.mqttc.loop_start
@ -40,13 +42,13 @@ class Stream:
def add_sonde(self, sonde):
if sonde not in self._sondes:
self._sondes.append(sonde)
(result, mid) = self.mqttc.subscribe(f"sondes/{sonde}", 0)
(result, mid) = self.mqttc.subscribe(f"{self.prefix}/{sonde}", 0)
if result != mqtt.MQTT_ERR_SUCCESS:
self.ws_connect()
def remove_sonde(self, sonde):
self._sondes.remove(sonde)
(result, mid) = self.mqttc.unsubscribe(f"sondes/{sonde}", 0)
(result, mid) = self.mqttc.unsubscribe(f"{self.prefix}/{sonde}", 0)
if result != mqtt.MQTT_ERR_SUCCESS:
self.ws_connect()

Wyświetl plik

@ -35,6 +35,14 @@ def main():
type=str,
action="append",
)
group.add_argument(
"--amateur",
dest="prefix",
const="amateur",
default="sondes",
help="Connect to amateur endpoint",
action="store_const",
)
args = parser.parse_args()
if (args.download):
serials = [item for sublist in args.download for item in sublist]
@ -47,7 +55,7 @@ def main():
): # we need to drop the default value if the user specifies specific sondes
args.sondes = args.sondes[1:]
sondes = [item for sublist in args.sondes for item in sublist]
test = sondehub.Stream(on_message=on_message, sondes=sondes, auto_start_loop=False)
test = sondehub.Stream(on_message=on_message, sondes=sondes, auto_start_loop=False, prefix=args.prefix)
test.loop_forever()