@@ -226,40 +226,12 @@ def printBytes(self, escpos: EscposIO, bytes=None, **kwargs):
226226 raise ValueError ("No bytes provided to print" )
227227
228228
229- def openDrawer (self , escpos : EscposIO , * args , * *kwargs ):
229+ def openDrawer (self , escpos : EscposIO , ** kwargs ):
230230 """
231231 Abre el cajón de dinero.
232- Acepta argumentos adicionales para compatibilidad con diferentes formatos de llamada .
232+ Implementación idéntica a v1.0.26 (testeada y estable) .
233233 """
234- try :
235- # Intenta abrir el cajón con el comando estándar
236- escpos .printer .cashdraw (CD_KICK_2 )
237- return {"status" : "success" , "message" : "Cajón abierto correctamente" }
238- except Exception as e :
239- # Si falla, intenta con comandos alternativos
240- try :
241- # Comando alternativo para impresoras que requieren secuencia diferente
242- escpos .printer .control ("\x1b \x70 \x00 \x19 \x19 " )
243- return {"status" : "success" , "message" : "Cajón abierto con comando alternativo" }
244- except Exception as e2 :
245- error_msg = f"Error al abrir cajón: { e } , comando alternativo falló: { e2 } "
246- logger .error (error_msg )
247-
248- # Publicar error de cajón a RabbitMQ
249- try :
250- publish_error (
251- error_type = "CASH_DRAWER_ERROR" ,
252- error_message = error_msg ,
253- context = {
254- "primary_error" : str (e ),
255- "secondary_error" : str (e2 ),
256- "exception_types" : [type (e ).__name__ , type (e2 ).__name__ ]
257- }
258- )
259- except Exception as publish_err :
260- logger .error (f"Error publicando error de cajón a RabbitMQ: { publish_err } " )
261-
262- return {"status" : "error" , "message" : error_msg }
234+ escpos .printer .cashdraw (CD_KICK_2 )
263235
264236
265237 def printPedido (self , escpos : EscposIO , ** kwargs ):
0 commit comments