From d4cd55a19965c4387939bfd15f6d2d9885dd880c Mon Sep 17 00:00:00 2001 From: ohmdelta <64962148+ohmdelta@users.noreply.github.com> Date: Sat, 24 Jan 2026 15:55:13 +0000 Subject: [PATCH 1/7] fix connection unwrap --- bambulabs_api/ftp_client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bambulabs_api/ftp_client.py b/bambulabs_api/ftp_client.py index 9eb3fa6..971bcde 100644 --- a/bambulabs_api/ftp_client.py +++ b/bambulabs_api/ftp_client.py @@ -45,7 +45,7 @@ def storbinary(self, cmd, fp, blocksize=8192, callback=None, rest=None): self.voidcmd('TYPE I') conn = self.transfercmd(cmd, rest) try: - while 1: + while True: buf = fp.read(blocksize) if not buf: break @@ -54,7 +54,7 @@ def storbinary(self, cmd, fp, blocksize=8192, callback=None, rest=None): callback(buf) # shutdown ssl layer if isinstance(conn, ssl.SSLSocket): - # conn.unwrap() # Fix for storbinary waiting indefinitely for response message from server # noqa + conn.unwrap() # Fix for storbinary waiting indefinitely for response message from server # noqa pass finally: conn.close() # This is the addition to the previous comment. From 31687d82041f43431e60d02d717989ea977468da Mon Sep 17 00:00:00 2001 From: ohmdelta <64962148+ohmdelta@users.noreply.github.com> Date: Sat, 31 Jan 2026 16:59:30 +0000 Subject: [PATCH 2/7] add ftp unwrap option --- bambulabs_api/ftp_client.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bambulabs_api/ftp_client.py b/bambulabs_api/ftp_client.py index 971bcde..a05a7e3 100644 --- a/bambulabs_api/ftp_client.py +++ b/bambulabs_api/ftp_client.py @@ -16,9 +16,10 @@ class ImplicitFTP_TLS(ftplib.FTP_TLS): """FTP_TLS subclass that automatically wraps sockets in SSL to support implicit FTPS.""" # noqa - def __init__(self, *args, **kwargs): + def __init__(self, *args, unwrap: bool = False, **kwargs): super().__init__(*args, **kwargs) self._sock = None + self.unwrap = unwrap """Explicit FTPS, with shared TLS session""" def ntransfercmd(self, cmd, rest=None): @@ -53,7 +54,7 @@ def storbinary(self, cmd, fp, blocksize=8192, callback=None, rest=None): if callback: callback(buf) # shutdown ssl layer - if isinstance(conn, ssl.SSLSocket): + if isinstance(conn, ssl.SSLSocket) and self.unwrap: conn.unwrap() # Fix for storbinary waiting indefinitely for response message from server # noqa pass finally: From 28f48818997ffb4b99735c7eac9f8d240d0ca780 Mon Sep 17 00:00:00 2001 From: ohmdelta <64962148+ohmdelta@users.noreply.github.com> Date: Sat, 31 Jan 2026 17:01:19 +0000 Subject: [PATCH 3/7] add add notes --- docs/release.rst | 1 + docs/release/2.6.6-notes.md | 4 ++++ pyproject.toml | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 docs/release/2.6.6-notes.md diff --git a/docs/release.rst b/docs/release.rst index bdf5655..2d9fc0b 100644 --- a/docs/release.rst +++ b/docs/release.rst @@ -7,6 +7,7 @@ Release notes for each release here: .. toctree:: :maxdepth: 1 + 2.6.6 2.6.5 2.6.4 2.6.3 diff --git a/docs/release/2.6.6-notes.md b/docs/release/2.6.6-notes.md new file mode 100644 index 0000000..ea0b0f0 --- /dev/null +++ b/docs/release/2.6.6-notes.md @@ -0,0 +1,4 @@ +Bambulabs API 2.6.6 Release Notes +================================= + +* Add unwrap connection option diff --git a/pyproject.toml b/pyproject.toml index ea25341..bd6087c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "bambulabs_api" -version = "2.6.5" +version = "2.6.6" authors = [ { name="Chris Ioannidis", email="chris.ioannidis23@imperial.ac.uk" }, { name="Haotian Wu", email="64962148+ohmdelta@users.noreply.github.com"} From 1232e7238e6e19c9a6a3fd5f6db68b0c2623f26e Mon Sep 17 00:00:00 2001 From: ohmdelta <64962148+ohmdelta@users.noreply.github.com> Date: Sat, 31 Jan 2026 19:12:53 +0000 Subject: [PATCH 4/7] add logging --- bambulabs_api/__init__.py | 3 +++ bambulabs_api/logger.py | 2 ++ 2 files changed, 5 insertions(+) diff --git a/bambulabs_api/__init__.py b/bambulabs_api/__init__.py index 40d8404..4ab4486 100644 --- a/bambulabs_api/__init__.py +++ b/bambulabs_api/__init__.py @@ -12,6 +12,8 @@ from .mqtt_client import * # noqa from .ftp_client import * # noqa from .ams import * # noqa +from bambulabs_api.logger import logger # noqa: F401 +import bambulabs_api.logger as log __all__ = [] @@ -19,3 +21,4 @@ __all__.extend(mqtt_client.__all__) __all__.extend(ftp_client.__all__) __all__.extend(ams.__all__) +__all__.extend(log.__all__) diff --git a/bambulabs_api/logger.py b/bambulabs_api/logger.py index 7e54307..cd301b8 100644 --- a/bambulabs_api/logger.py +++ b/bambulabs_api/logger.py @@ -1,3 +1,5 @@ +__all__ = ["logger"] + import logging logger = logging.getLogger("bambulabs_api") From fa5709a04f7e177a6d397af57d0ee98f7e05becd Mon Sep 17 00:00:00 2001 From: ohmdelta <64962148+ohmdelta@users.noreply.github.com> Date: Sat, 31 Jan 2026 19:14:26 +0000 Subject: [PATCH 5/7] update release notes --- docs/release/2.6.6-notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release/2.6.6-notes.md b/docs/release/2.6.6-notes.md index ea0b0f0..ec581cf 100644 --- a/docs/release/2.6.6-notes.md +++ b/docs/release/2.6.6-notes.md @@ -2,3 +2,4 @@ Bambulabs API 2.6.6 Release Notes ================================= * Add unwrap connection option +* Expose bambulab logger From 20c0695bb5b1195c42a449285ea703647b6c09fc Mon Sep 17 00:00:00 2001 From: ohmdelta <64962148+ohmdelta@users.noreply.github.com> Date: Sat, 31 Jan 2026 19:20:41 +0000 Subject: [PATCH 6/7] fix import --- bambulabs_api/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bambulabs_api/__init__.py b/bambulabs_api/__init__.py index 4ab4486..d96644a 100644 --- a/bambulabs_api/__init__.py +++ b/bambulabs_api/__init__.py @@ -5,6 +5,8 @@ except Exception: __version__ = "0.dev0+unknown" +from bambulabs_api import client, mqtt_client, ftp_client, ams + # flake8: noqa: F405 from .client import * # noqa from .filament_info import Filament, AMSFilamentSettings, FilamentTray # noqa From 4e2b87ee2425999141695a486e9a818331075ca2 Mon Sep 17 00:00:00 2001 From: ohmdelta <64962148+ohmdelta@users.noreply.github.com> Date: Sat, 31 Jan 2026 19:23:03 +0000 Subject: [PATCH 7/7] fix import --- bambulabs_api/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bambulabs_api/__init__.py b/bambulabs_api/__init__.py index d96644a..a0a6544 100644 --- a/bambulabs_api/__init__.py +++ b/bambulabs_api/__init__.py @@ -15,7 +15,6 @@ from .ftp_client import * # noqa from .ams import * # noqa from bambulabs_api.logger import logger # noqa: F401 -import bambulabs_api.logger as log __all__ = [] @@ -23,4 +22,4 @@ __all__.extend(mqtt_client.__all__) __all__.extend(ftp_client.__all__) __all__.extend(ams.__all__) -__all__.extend(log.__all__) +__all__.append("logger")