Merge pull request #24 from bmartin5692/remove_Context
Remove contextVars
This commit is contained in:
commit
58919e1cbb
5 changed files with 14 additions and 38 deletions
|
|
@ -5,7 +5,6 @@ from .mqttserver import MQTTServer
|
||||||
from .mqttserver import MQTTHelperBot
|
from .mqttserver import MQTTHelperBot
|
||||||
from .xmppserver import XMPPServer
|
from .xmppserver import XMPPServer
|
||||||
import asyncio
|
import asyncio
|
||||||
import contextvars
|
|
||||||
import time
|
import time
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
import platform
|
import platform
|
||||||
|
|
@ -17,10 +16,6 @@ from tinydb import TinyDB, Query
|
||||||
import json
|
import json
|
||||||
from tinydb.storages import MemoryStorage
|
from tinydb.storages import MemoryStorage
|
||||||
|
|
||||||
bumper_users_var = contextvars.ContextVar("bumper_users", default=[])
|
|
||||||
bumper_clients_var = contextvars.ContextVar("bumper_clients", default=[])
|
|
||||||
bumper_bots_var = contextvars.ContextVar("bumper_bots", default=[])
|
|
||||||
|
|
||||||
ca_cert = "./certs/CA/cacert.pem"
|
ca_cert = "./certs/CA/cacert.pem"
|
||||||
server_cert = "./certs/cert.pem"
|
server_cert = "./certs/cert.pem"
|
||||||
server_key = "./certs/key.pem"
|
server_key = "./certs/key.pem"
|
||||||
|
|
@ -82,15 +77,12 @@ def db_file():
|
||||||
|
|
||||||
|
|
||||||
def os_db_path():
|
def os_db_path():
|
||||||
db_path = ""
|
|
||||||
if platform.system() == "Windows":
|
if platform.system() == "Windows":
|
||||||
|
os.makedirs(os.getenv("APPDATA"), exist_ok=True) #Ensure db_path directory exists or create
|
||||||
db_path = os.path.join(os.getenv("APPDATA"))
|
return os.path.join(os.getenv("APPDATA"), "bumper.db")
|
||||||
else:
|
else:
|
||||||
db_path = os.path.expanduser("~/.config")
|
os.makedirs(os.path.expanduser("~/.config"), exist_ok=True) #Ensure db_path directory exists or create
|
||||||
|
return os.path.expanduser("~/.config/bumper.db")
|
||||||
os.makedirs(db_path, exist_ok=True) #Ensure db_path directory exists or create
|
|
||||||
return os.path.join(db_path, "bumper.db")
|
|
||||||
|
|
||||||
def db_get():
|
def db_get():
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ import bumper
|
||||||
import time
|
import time
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
import asyncio
|
import asyncio
|
||||||
import contextvars
|
|
||||||
from aiohttp import web
|
from aiohttp import web
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ from hbmqtt.broker import Broker
|
||||||
from hbmqtt.client import MQTTClient
|
from hbmqtt.client import MQTTClient
|
||||||
from hbmqtt.mqtt.constants import QOS_0, QOS_1, QOS_2
|
from hbmqtt.mqtt.constants import QOS_0, QOS_1, QOS_2
|
||||||
import pkg_resources
|
import pkg_resources
|
||||||
import contextvars
|
|
||||||
import time
|
import time
|
||||||
from threading import Thread
|
from threading import Thread
|
||||||
import ssl
|
import ssl
|
||||||
|
|
@ -40,7 +39,7 @@ class MQTTHelperBot:
|
||||||
):
|
):
|
||||||
self.address = address
|
self.address = address
|
||||||
self.client_id = "helper1@bumper/helper1"
|
self.client_id = "helper1@bumper/helper1"
|
||||||
self.command_responses = contextvars.ContextVar("command_responses", default=[])
|
self.command_responses = []
|
||||||
self.helperthread = None
|
self.helperthread = None
|
||||||
|
|
||||||
def run(self, run_async=False):
|
def run(self, run_async=False):
|
||||||
|
|
@ -99,10 +98,9 @@ class MQTTHelperBot:
|
||||||
message = await self.Client.deliver_message()
|
message = await self.Client.deliver_message()
|
||||||
|
|
||||||
# helperbotlog.debug("HelperBot MQTT Received Message on Topic: {} - Message: {}".format(message.topic, str(message.payload.decode("utf-8"))))
|
# helperbotlog.debug("HelperBot MQTT Received Message on Topic: {} - Message: {}".format(message.topic, str(message.payload.decode("utf-8"))))
|
||||||
cresp = self.command_responses.get()
|
|
||||||
|
|
||||||
if str(message.topic).split("/")[6] == "helper1":
|
if str(message.topic).split("/")[6] == "helper1":
|
||||||
cresp.append(
|
self.command_responses.append(
|
||||||
{
|
{
|
||||||
"time": time.time(),
|
"time": time.time(),
|
||||||
"topic": message.topic,
|
"topic": message.topic,
|
||||||
|
|
@ -111,15 +109,14 @@ class MQTTHelperBot:
|
||||||
)
|
)
|
||||||
|
|
||||||
# Cleanup "expired messages" > 60 seconds from time
|
# Cleanup "expired messages" > 60 seconds from time
|
||||||
for msg in cresp:
|
for msg in self.command_responses:
|
||||||
expire_time = (
|
expire_time = (
|
||||||
datetime.fromtimestamp(msg["time"]) + timedelta(seconds=10)
|
datetime.fromtimestamp(msg["time"]) + timedelta(seconds=10)
|
||||||
).timestamp()
|
).timestamp()
|
||||||
if time.time() > expire_time:
|
if time.time() > expire_time:
|
||||||
# helperbotlog.debug("Pruning Message Time: {}, MsgTime: {}, MsgTime+60: {}".format(time.time(), msg['time'], expire_time))
|
# helperbotlog.debug("Pruning Message Time: {}, MsgTime: {}, MsgTime+60: {}".format(time.time(), msg['time'], expire_time))
|
||||||
cresp.remove(msg)
|
self.command_responses.remove(msg)
|
||||||
|
|
||||||
self.command_responses.set(cresp)
|
|
||||||
# helperbotlog.debug("MQTT Command Response List Count: %s" %len(cresp))
|
# helperbotlog.debug("MQTT Command Response List Count: %s" %len(cresp))
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
@ -132,9 +129,8 @@ class MQTTHelperBot:
|
||||||
|
|
||||||
while time.time() < t_end:
|
while time.time() < t_end:
|
||||||
await asyncio.sleep(0.1)
|
await asyncio.sleep(0.1)
|
||||||
responses = self.command_responses.get()
|
if len(self.command_responses) > 0:
|
||||||
if len(responses) > 0:
|
for msg in self.command_responses:
|
||||||
for msg in responses:
|
|
||||||
topic = str(msg["topic"]).split("/")
|
topic = str(msg["topic"]).split("/")
|
||||||
if topic[6] == "helper1" and topic[10] == requestid:
|
if topic[6] == "helper1" and topic[10] == requestid:
|
||||||
# helperbotlog.debug('VacBot MQTT Response: Topic: %s Payload: %s' % (msg['topic'], msg['payload']))
|
# helperbotlog.debug('VacBot MQTT Response: Topic: %s Payload: %s' % (msg['topic'], msg['payload']))
|
||||||
|
|
@ -143,9 +139,7 @@ class MQTTHelperBot:
|
||||||
else:
|
else:
|
||||||
resppayload = str(msg["payload"])
|
resppayload = str(msg["payload"])
|
||||||
resp = {"id": requestid, "ret": "ok", "resp": resppayload}
|
resp = {"id": requestid, "ret": "ok", "resp": resppayload}
|
||||||
cresp = self.command_responses.get()
|
self.command_responses.remove(msg)
|
||||||
cresp.remove(msg)
|
|
||||||
self.command_responses.set(cresp)
|
|
||||||
return resp
|
return resp
|
||||||
|
|
||||||
return {"id": requestid, "errno": "timeout", "ret": "fail"}
|
return {"id": requestid, "errno": "timeout", "ret": "fail"}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ from threading import Thread
|
||||||
import sys, socket, threading, re, time, logging, uuid, xml.etree.ElementTree as ET
|
import sys, socket, threading, re, time, logging, uuid, xml.etree.ElementTree as ET
|
||||||
import base64
|
import base64
|
||||||
import ssl
|
import ssl
|
||||||
import contextvars
|
|
||||||
import bumper
|
import bumper
|
||||||
import asyncio
|
import asyncio
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,14 +51,6 @@ def main():
|
||||||
conf_address_8007, usessl=False, helperbot=mqtt_helperbot
|
conf_address_8007, usessl=False, helperbot=mqtt_helperbot
|
||||||
)
|
)
|
||||||
|
|
||||||
# add user
|
|
||||||
# users = bumper.bumper_users_var.get()
|
|
||||||
# user1 = bumper.BumperUser('user1')
|
|
||||||
# user1.add_device('devid')
|
|
||||||
# user1.add_bot('bot_did')
|
|
||||||
# users.append(user1)
|
|
||||||
# bumper.bumper_users_var.set(users)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
loop = asyncio.get_event_loop()
|
loop = asyncio.get_event_loop()
|
||||||
except:
|
except:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue