def on_client_list(data): global connected_printer printer_obj = instax.SP2(port=8080, pinCode=4782, timeout=10) info = printer_obj.getPrinterInformation() print(info) sio.emit('printer_connected', connected_printer) sio.emit('printer_status', json.dumps(info)) print("Connected")
def on_printjob(data): global printer_obj global connected_printer global printing print('Print job received') printing = True try: printer_obj = instax.SP2(port=8080, pinCode=4782, timeout=10) info = printer_obj.getPrinterInformation() sio.emit('printer_status', json.dumps(info)) # save data to tmp jpg tmp_name = str(uuid.uuid4()) f = open('/tmp/'+tmp_name+'.jpg', 'w+b') binary_formatted = bytearray(binascii.a2b_base64(data)) f.write(binary_formatted) f.close() # prepare for printing instaxImage = instax.InstaxImage(type=2) instaxImage.loadImage('/tmp/'+tmp_name+'.jpg') instaxImage.convertImage() # Save a copy of the converted bitmap (debugging) instaxImage.saveImage("/tmp/test.bmp") # Preview the image that is about to print #instaxImage.previewImage() encodedImage = instaxImage.encodeImage() print("Sending print command for "+'/tmp/'+tmp_name+'.jpg') printer_obj.printPhoto(encodedImage, printProgress) sio.emit('print_success',{"printer":connected_printer}) print("Printing on "+connected_printer+" successful") printing = False #os.remove('/tmp/'+tmp_name+'.jpg') print("Removing file successful") info = printer_obj.getPrinterInformation() sio.emit('printer_status', json.dumps(info)) except: print(traceback.format_exc()) print("Fail: Printing fail, starting full recovery") sio.emit("broadcast", {"method":"printer_reset","payload":"null"})
def on_wificonnect_success(data): global printer_obj global connected_printer print("Connected to printer "+data["ssid"]+" wifi, getting info...") connected_printer = "None" try: print("Trying to connect...") time.sleep(20) #if(printer_obj != None): #printer_obj.close() # Instax setup / status printer_obj = instax.SP2(port=8080, pinCode=4782, timeout=10) info = printer_obj.getPrinterInformation() print(info) connected_printer = data["ssid"] sio.emit('printer_connected', connected_printer) sio.emit('printer_status', json.dumps(info)) print("Connected") except: print(traceback.format_exc()) print("Fail: Trying again in some secs")
import os import re import instax import sys import time import logging import csv import glob import random from instax.sp2 import Color my_instax = instax.SP2(ip='192.168.0.251', port=8080, pinCode=1111, timeout=10) is_success = False while True: inp = input('印刷を開始するにはエンターキーを押してください>>') if inp == '': break print('start cheki print') def print_progress(_count, total, status=''): logging.info(status) if "complete" in status: global is_success # 大域変数にアクセス is_success = True bar_len = 60 filled_len = int(round(bar_len * _count / float(total))) percents = round(100.0 * _count / float(total), 1)
import instax import time import traceback while True: try: myInstax = instax.SP2(port=8080, pinCode=4782, timeout=10) info = myInstax.getPrinterInformation() print(info) time.sleep(1) except: print("Fail") print(traceback.format_exc()) time.sleep(1) pass