diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3741c15..3453993 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -111,7 +111,8 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | if [ -f docs/release/${{ env.VERSION }}-notes.md ]; then - gh release create "${{ env.VERSION }}" --latest --repo "${{ github.repository }}" -F docs/release/${{ env.VERSION }}-notes.md + echo "Releasing ${{ env.VERSION }}" + gh release create "${{ env.VERSION }}" --latest --repo "${{ github.repository }}" -F "docs/release/${{ env.VERSION }}-notes.md" else gh release create "${{ env.VERSION }}" --latest --repo "${{ github.repository }}" --notes "" fi diff --git a/bambulabs_api/client.py b/bambulabs_api/client.py index 3d072f2..fe97f97 100644 --- a/bambulabs_api/client.py +++ b/bambulabs_api/client.py @@ -11,6 +11,7 @@ from bambulabs_api.ams import AMSHub from bambulabs_api.filament_info import FilamentTray +from bambulabs_api.printer_info import NozzleType from bambulabs_api.states_info import PrintStatus from .camera_client import PrinterCamera from .ftp_client import PrinterFTPClient @@ -170,7 +171,6 @@ def get_print_speed(self) -> int: def get_bed_temperature(self) -> float | None: """ Get the bed temperature of the printer. - NOT IMPLEMENTED YET Returns ------- @@ -183,7 +183,6 @@ def get_bed_temperature(self) -> float | None: def get_nozzle_temperature(self) -> float | None: """ Get the nozzle temperature of the printer. - NOT IMPLEMENTED YET Returns ------- @@ -193,6 +192,24 @@ def get_nozzle_temperature(self) -> float | None: """ return self.mqtt_client.get_nozzle_temperature() + def nozzle_type(self) -> NozzleType: + """ + Get the nozzle type currently registered to printer + + Returns: + NozzleType: nozzle diameter + """ + return self.mqtt_client.nozzle_type() + + def nozzle_diameter(self) -> float: + """ + Get the nozzle diameter currently registered to printer + + Returns: + float: nozzle diameter + """ + return self.mqtt_client.nozzle_diameter() + def get_file_name(self) -> str: """ Get the name of the file being printed. @@ -670,3 +687,30 @@ def ams_hub(self) -> AMSHub: """ self.mqtt_client.process_ams() return self.mqtt_client.ams_hub + + def subtask_name(self) -> str: + """ + Get current subtask name (current print details) + + Returns: + str: current subtask name + """ + return self.mqtt_client.subtask_name() + + def gcode_file(self) -> str: + """ + Get current gcode file (current print details) + + Returns: + str: current gcode_file name + """ + return self.mqtt_client.gcode_file() + + def print_error_code(self) -> int: + """ + Get current gcode file (current print details) + + Returns: + int: error code (0 if normal) + """ + return self.mqtt_client.print_error_code() diff --git a/bambulabs_api/ftp_client.py b/bambulabs_api/ftp_client.py index 19f7ce4..1e9216f 100644 --- a/bambulabs_api/ftp_client.py +++ b/bambulabs_api/ftp_client.py @@ -64,7 +64,8 @@ def connect_and_run(func): Args: func (function): the function to be decorated - """ # noqa + """ # noqa + def wrapper(self, *args, **kwargs) -> Any: logging.info("Connecting to FTP server...") self.ftps.connect(host=self.server_ip, port=self.port) diff --git a/bambulabs_api/mqtt_client.py b/bambulabs_api/mqtt_client.py index ab3de17..b9c88d6 100644 --- a/bambulabs_api/mqtt_client.py +++ b/bambulabs_api/mqtt_client.py @@ -803,7 +803,7 @@ def nozzle_type(self) -> NozzleType: Get the nozzle type currently registered to printer Returns: - str: nozzle diameter + NozzleType: nozzle diameter """ return NozzleType(self.__get("nozzle_diameter", "stainless_steel")) @@ -848,3 +848,30 @@ def vt_tray(self) -> FilamentTray: """ tray = self.__get("vt_tray") return FilamentTray.from_dict(tray) + + def subtask_name(self) -> str: + """ + Get current subtask name (current print details) + + Returns: + str: current subtask name + """ + return self.__get("subtask_name") + + def gcode_file(self) -> str: + """ + Get current gcode file (current print details) + + Returns: + str: current gcode_file name + """ + return self.__get("gcode_file") + + def print_error_code(self) -> int: + """ + Get current gcode file (current print details) + + Returns: + int: error code (0 if normal) + """ + return int(self.__get("print_error", 0)) diff --git a/docs/release/2.5.10-notes.md b/docs/release/2.5.10-notes.md new file mode 100644 index 0000000..32a50e7 --- /dev/null +++ b/docs/release/2.5.10-notes.md @@ -0,0 +1,6 @@ +Bambulabs API 2.5.10 Release Notes +================================= + +* Add nozzle info to client +* Add print file info api +* Add error code stuff diff --git a/pyproject.toml b/pyproject.toml index 278970f..0306956 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "bambulabs_api" -version = "2.5.9" +version = "2.5.10" authors = [ { name="Chris Ioannidis", email="chris.ioannidis23@imperial.ac.uk" }, { name="Haotian Wu", email="64962148+ohmdelta@users.noreply.github.com"}