aggiunto invio evento

master
Emanuele Trabattoni 2020-03-20 17:14:54 +01:00
parent 63ff03d56f
commit 5ed63205ec
1 changed files with 13 additions and 4 deletions

View File

@ -6,7 +6,7 @@ Created on 19 mar 2020
import queue, time, socket, logging import queue, time, socket, logging
from driver.tsc_commands import TSC_COMMANDS, TSC_STATUS, LINE_SEP from driver.tsc_commands import TSC_COMMANDS, TSC_STATUS, LINE_SEP
from driver.notifier import URL_ERR, URL_EVENT, URL_RESPONSE, send_response from driver.notifier import URL_ERR, URL_EVENT, URL_RESPONSE, send_response, send_event
import traceback import traceback
import struct import struct
@ -95,14 +95,20 @@ def tsc_printer(q_in: queue.Queue, q_out: queue.Queue, q_cmd: queue.Queue, ip: s
nonlocal prt nonlocal prt
prt.sendall(b'\x1B'+bytearray(TSC_COMMANDS['STATUS'], encoding=ENC)) prt.sendall(b'\x1B'+bytearray(TSC_COMMANDS['STATUS'], encoding=ENC))
time.sleep(0.1) time.sleep(0.1)
send_response(q_out, ip, "STATUS",{"stato": TSC_STATUS[struct.unpack('>b',prt.recv(1))[0]]}) rsp=TSC_STATUS[struct.unpack('>b',prt.recv(1))[0]]
send_response(q_out, ip, "STATUS",{"stato": rsp})
return rsp
while True: # connetti mantieni vivo il socket while True: # connetti mantieni vivo il socket
try: try:
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as prt: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as prt:
prt.connect((ip, port)) prt.connect((ip, port))
get_status() sts=get_status()
if sts=="Normal":
send_event(q_out, ip, True, None, None)
else:
send_event(q_out, ip, True, sts, None)
while True: while True:
itm = q_in.get(block=True) itm = q_in.get(block=True)
cmd = itm['name'] cmd = itm['name']
@ -144,14 +150,17 @@ def tsc_printer(q_in: queue.Queue, q_out: queue.Queue, q_cmd: queue.Queue, ip: s
logger.error("Comando stampante non riconosciuto") logger.error("Comando stampante non riconosciuto")
except socket.timeout as st: except socket.timeout as st:
logger.error(f"Stampante {__name__} irraggiungibile:{st}") logger.error(f"Stampante {__name__} irraggiungibile:{st}")
send_event(q_out, ip, True, f"Stampante {__name__} irraggiungibile:{st}", None)
prt.close() prt.close()
del prt del prt
except socket.error as se: except socket.error as se:
logger.error(f"Errore generico stamoante {__name__}: {se}") logger.error(f"Errore generico stampante {__name__}: {se}")
send_event(q_out, ip, True, f"Errore generico stampante {__name__}: {se}", None)
prt.close() prt.close()
del prt del prt
except Exception as e: except Exception as e:
traceback.print_exc() traceback.print_exc()
send_event(q_out, ip, True, "Errore generale inizializzando la stampante: {}".format(e), None)
logger.error("Errore generale inizializzando la stampante: {}".format(e)) logger.error("Errore generale inizializzando la stampante: {}".format(e))
pass pass