Compare commits

..

8 Commits
1.2.1 ... 1.2.2

Author SHA1 Message Date
Josiah Baldwin
f5c6e96597 Bumped version 2025-06-25 10:51:18 -07:00
Josiah Baldwin
428a1b31c7 Merge pull request #49 from DaanSelen/user_agent
Added user agent to ws connection.
2025-06-24 14:44:06 -07:00
DaanSelen
16f3f99427 Merge branch 'development' into user_agent 2025-06-24 22:51:10 +02:00
Josiah Baldwin
d21450e463 Merge pull request #48 from DaanSelen/increase_limit
Increase limit
2025-06-24 13:48:43 -07:00
Daan Selen
9e08a1af49 Minor corrections 2025-06-19 22:20:30 +02:00
Daan Selen
e9de43420e draft 2025-06-19 22:13:35 +02:00
Daan Selen
fcdf8add53 Just max_size 2025-06-19 21:59:54 +02:00
Josiah Baldwin
163b776dfc Fixed library __version__ var 2025-06-19 12:38:00 -07:00
3 changed files with 21 additions and 4 deletions

View File

@@ -2,6 +2,16 @@
Changelog Changelog
========= =========
version 1.2.2
=============
Improvements:
* Added user agent to websocket headers
Bugs:
* Fixed library's __version__ implementation
* Fixed data from certain devices not showing up due to overloading websocket packet sizes
version 1.2.1 version 1.2.1
============= =============

View File

@@ -8,7 +8,7 @@ else:
try: try:
# Change here if project is renamed and does not equal the package name # Change here if project is renamed and does not equal the package name
dist_name = "meshctrl" dist_name = "libmeshctrl"
__version__ = version(dist_name) __version__ = version(dist_name)
except PackageNotFoundError: # pragma: no cover except PackageNotFoundError: # pragma: no cover
__version__ = "unknown" __version__ = "unknown"
@@ -24,4 +24,4 @@ from . import files
from . import exceptions from . import exceptions
from . import device from . import device
from . import mesh from . import mesh
from . import user_group from . import user_group

View File

@@ -10,6 +10,8 @@ import io
import ssl import ssl
import urllib import urllib
from python_socks.async_.asyncio import Proxy from python_socks.async_.asyncio import Proxy
from platform import python_version
from . import __version__
from . import constants from . import constants
from . import exceptions from . import exceptions
from . import util from . import util
@@ -45,7 +47,8 @@ class Session(object):
closed (asyncio.Event): Event that occurs when the session closes permanently closed (asyncio.Event): Event that occurs when the session closes permanently
''' '''
def __init__(self, url, user=None, domain=None, password=None, loginkey=None, proxy=None, token=None, ignore_ssl=False, auto_reconnect=False): def __init__(self, url, user=None, domain=None, password=None, loginkey=None, proxy=None, token=None, ignore_ssl=False, auto_reconnect=False, user_agent_header=None):
default_user_agent_header = f"Python/{python_version()} websockets/{websockets.__version__} pylibmeshctrl/{__version__}"
parsed = urllib.parse.urlparse(url) parsed = urllib.parse.urlparse(url)
if parsed.scheme not in ("wss", "ws"): if parsed.scheme not in ("wss", "ws"):
@@ -106,6 +109,10 @@ class Session(object):
self._file_tunnels = {} self._file_tunnels = {}
self._ignore_ssl = ignore_ssl self._ignore_ssl = ignore_ssl
self.auto_reconnect = auto_reconnect self.auto_reconnect = auto_reconnect
if user_agent_header:
self.user_agent_header = user_agent_header
else:
self.user_agent_header = default_user_agent_header
self._eventer = util.Eventer() self._eventer = util.Eventer()
@@ -144,7 +151,7 @@ class Session(object):
options["additional_headers"] = headers options["additional_headers"] = headers
async for websocket in websockets.asyncio.client.connect(self.url, proxy=self._proxy, process_exception=util._process_websocket_exception, **options): async for websocket in websockets.asyncio.client.connect(self.url, proxy=self._proxy, process_exception=util._process_websocket_exception, max_size=None, user_agent_header=self.user_agent_header, **options):
self.alive = True self.alive = True
self._socket_open.set() self._socket_open.set()
try: try: