kopia lustrzana https://github.com/projecthorus/pysondehub
add amateur
rodzic
f1572268a5
commit
bb75fca58e
|
@ -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"
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue