From 38b4e4c3340ada6ebbad8db1fc8b0a0c7c6acbd7 Mon Sep 17 00:00:00 2001 From: Jeroen Oudshoorn Date: Tue, 12 Sep 2023 00:20:15 +0200 Subject: [PATCH] Version 2.3.8 Signed-off-by: Jeroen Oudshoorn --- pwnagotchi/_version.py | 2 +- pwnagotchi/bettercap.py | 37 +++++++++++++++---------------------- 2 files changed, 16 insertions(+), 23 deletions(-) diff --git a/pwnagotchi/_version.py b/pwnagotchi/_version.py index e956a249..a4be3f11 100644 --- a/pwnagotchi/_version.py +++ b/pwnagotchi/_version.py @@ -1 +1 @@ -__version__ = '2.3.7' +__version__ = '2.3.8' diff --git a/pwnagotchi/bettercap.py b/pwnagotchi/bettercap.py index 6d7a802f..8616c26a 100644 --- a/pwnagotchi/bettercap.py +++ b/pwnagotchi/bettercap.py @@ -1,7 +1,6 @@ import logging import requests import websockets -import backoff from requests.auth import HTTPBasicAuth import asyncio # Add asyncio for async functionality @@ -42,29 +41,23 @@ class Client(object): r = requests.get("%s/%s" % (self.url, sess), auth=self.auth) return decode(r) - @backoff.on_exception(backoff.expo, requests.exceptions.ConnectionError, max_tries=10) async def start_websocket(self, consumer): - async with self.websocket_semaphore: - s = "%s/events" % self.websocket - while True: - try: - async with websockets.connect(s, ping_interval=60, ping_timeout=90) as ws: - async for msg in ws: - try: - await consumer(msg) - except Exception as ex: - logging.debug("Error while parsing event (%s)", ex) - except websockets.ConnectionClosedError: - logging.debug("Lost websocket connection. Reconnecting...") - await asyncio.sleep(5) # Sleep for x seconds before reconnecting - except websockets.WebSocketException as wex: - logging.debug("Websocket exception (%s)", wex) - await asyncio.sleep(5) # Sleep for x seconds before reconnecting - except Exception as e: - logging.exception("Other error while opening websocket (%s) with parameter %s", e, s) - await asyncio.sleep(5) # Sleep for x seconds before reconnecting + s = "%s/events" % self.websocket + while True: + try: + async with websockets.connect(s, ping_interval=60, ping_timeout=90) as ws: + async for msg in ws: + try: + await consumer(msg) + except Exception as ex: + logging.debug("Error while parsing event (%s)", ex) + except websockets.ConnectionClosedError: + logging.debug("Lost websocket connection. Reconnecting...") + except websockets.WebSocketException as wex: + logging.debug("Websocket exception (%s)", wex) + except Exception as e: + logging.exception("Other error while opening websocket (%s) with parameter %s", e, s) - @backoff.on_exception(backoff.expo, requests.exceptions.ConnectionError, max_tries=10) def run(self, command, verbose_errors=True): for _ in range(0, 2): try: