From af66314336f9b19cb36e10820c3ac05abd079a60 Mon Sep 17 00:00:00 2001 From: localhorst Date: Wed, 23 Nov 2022 22:28:01 +0100 Subject: [PATCH] trigger brother_ql --- README.md | 4 ++-- reHDDPrinter.py | 17 ++++++++++++----- reHDDPrinter.service | 1 + 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index f59812a..36cec9a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ # Install # -`pip install qrcode sysv-ipc pycstruct` +`pip install qrcode sysv-ipc pycstruct brother-ql` ``` cd /root/ @@ -14,7 +14,7 @@ cd reHDDPrinter chmod +x reHDDPrinter.py cp reHDDPrinter.service /lib/systemd/system/reHDDPrinter.service systemctl daemon-reload -systemctl enable /lib/systemd/system/reHDDPrinter.service +systemctl enable --now /lib/systemd/system/reHDDPrinter.service ``` ## Test printer manually ## diff --git a/reHDDPrinter.py b/reHDDPrinter.py index 7a9c099..8984c59 100644 --- a/reHDDPrinter.py +++ b/reHDDPrinter.py @@ -7,12 +7,17 @@ """ import sysv_ipc -import pycstruct +import pycstruct +import os +from brother_ql.brother_ql_create import create_label +from brother_ql.raster import BrotherQLRaster import layouter str_buffer_size = 64 #keep this synchronous to reHDD msg_queue_key = 0x1B11193C0 #keep this synchronous to reHDD +file_name = "output.png" + def get_struct_format(): #keep this synchronous to struct in reHDD driveData = pycstruct.StructDef() @@ -39,7 +44,6 @@ def main(): driveData = get_struct_format().deserialize(message) rehdd_info = layouter.ReHddInfo("https://git.mosad.xyz/localhorst/reHDD", driveData['driveReHddVersion']) - drive = layouter.DriveData( drive_index=int(driveData['driveIndex']),\ drive_state=str(driveData['driveState']),\ @@ -53,11 +57,14 @@ def main(): shred_timestamp=int(driveData['driveShredTimestamp']),\ shred_duration=int(driveData['driveShredDuration'])) - layouter.generate_image(drive, rehdd_info, "output.png") - + layouter.generate_image(drive, rehdd_info, file_name) + qlr = BrotherQLRaster("QL-570") + create_label(qlr, file_name, '62') + with open("/dev/usb/lp0", 'wb') as file: + file.write(qlr.data) + os.remove(file_name) except sysv_ipc.ExistentialError: print("ERROR: message queue creation failed") - if __name__ == "__main__": main() diff --git a/reHDDPrinter.service b/reHDDPrinter.service index 8c0c040..5aad20e 100644 --- a/reHDDPrinter.service +++ b/reHDDPrinter.service @@ -8,6 +8,7 @@ User=root Group=root Restart=on-failure RestartSec=5s +WorkingDirectory=/root/reHDDPrinter/ ExecStart=/usr/bin/python3 /root/reHDDPrinter/reHDDPrinter.py [Install]