fix when error conection network

This commit is contained in:
Wilson Gomez 2023-10-28 15:45:44 -05:00
parent cde0f93520
commit 372b706ade
3 changed files with 36 additions and 36 deletions

View File

@ -142,17 +142,12 @@ class AppWindow(FrontWindow):
version = compare_versions(self.modules['sale_pos_frontend_rest']['version'], '6.0.7') version = compare_versions(self.modules['sale_pos_frontend_rest']['version'], '6.0.7')
if version in ('equal', 'higher'): if version in ('equal', 'higher'):
if self.tasks_station: if self.tasks_station:
try: result = self.SaleLine.get_data_command_and_task(args)
result = self.SaleLine.get_data_command_and_task(args) if isinstance(result, dict):
orders = result.get('orders', []) orders = result.get('orders', [])
tasks = result.get('tasks', []) tasks = result.get('tasks', [])
except Exception:
logger.exception('Error de conexion internet obtener tareas y comandas')
else: else:
try: orders = self.SaleLine.get_data_command(args)
orders = self.SaleLine.get_data_command(args)
except Exception:
logger.exception('Error de conexion internet obtener comanda')
# TODO: for remove this option # TODO: for remove this option
else: else:
logger.warning('The backend sale_pos_frontend_rest is deprecation, update version') logger.warning('The backend sale_pos_frontend_rest is deprecation, update version')
@ -161,20 +156,20 @@ class AppWindow(FrontWindow):
orders += record['orders'].values() orders += record['orders'].values()
tasks += record['tasks'].values() tasks += record['tasks'].values()
try: result = self.receipt_order.print_orders(orders)
result = self.receipt_order.print_orders(orders) if result:
if result: status = 'error_network'
self.Sale.mark_commanded({'lines_ids': result}) while status == 'error_network':
except Exception: status = self.Sale.mark_commanded({'lines_ids': result})
logger.exception('Error de conexion internet al marcar tareas') time.sleep(1)
try: receipt = Receipt(context={}, environment='restaurant')
receipt = Receipt(context={}, environment='restaurant') result_task = receipt.print_tasks(tasks)
result_print = receipt.print_tasks(tasks) if any(result_task):
if any(result_print): status = 'error_network'
self.SaleLine.mark_tasks_printed({'task_ids': result_print}) while status == 'error_network':
except Exception: status = self.SaleLine.mark_tasks_printed({'task_ids': result_task})
logger.exception('Error de conexion internet al comandado') time.sleep(1)
time.sleep(30) time.sleep(30)
# timer = QTimer() # timer = QTimer()
# timer.singleShot(30000, self.verify_print_order_automatic) # timer.singleShot(30000, self.verify_print_order_automatic)

View File

@ -44,9 +44,9 @@ def logout(ctx):
host = ctx['params']['server'] host = ctx['params']['server']
db = ctx['params']['database'] db = ctx['params']['database']
if ctx['params']['mode'] == 'http': if ctx['params']['mode'] == 'http':
conn = HTTPConnection(host, port=port) conn = HTTPConnection(host, port=port, timeout=30)
else: else:
conn = HTTPSConnection(host, port=port, context=context_http) conn = HTTPSConnection(host, port=port, timeout=30, context=context_http)
url = '/' + db + '/logout' url = '/' + db + '/logout'
payload = json.dumps({ payload = json.dumps({
'context': { 'context': {
@ -204,20 +204,25 @@ class Model(object):
conn = self.conn( conn = self.conn(
self.host, self.host,
port=self.port, port=self.port,
timeout=30,
context=self.context_http) context=self.context_http)
else: else:
conn = self.conn(self.host, port=self.port) conn = self.conn(self.host, port=self.port, timeout=30)
conn.request(method, url, body=payload, headers=HEADERS) res = 'error_network'
response = conn.getresponse() try:
res = json.loads(response.read()) conn.request(method, url, body=payload, headers=HEADERS)
if response.status != 200: response = conn.getresponse()
logging.error(f'error request {str(res)}') res = json.loads(response.read())
if self.main_window and hasattr(self.main_window, 'statusbar'): if response.status != 200:
self.main_window.dialog( logging.error(f'error request {str(res)}')
'error_server', if self.main_window and hasattr(self.main_window, 'statusbar'):
extra_message=res['detail']['error']) self.main_window.dialog(
res = res['detail'] 'error_server',
conn.close() extra_message=res['detail']['error'])
res = res['detail']
conn.close()
except Exception:
logging.exception('error de conexion')
return res return res
def __call__(self, values=None, args=None, ctx=None): def __call__(self, values=None, args=None, ctx=None):

View File

@ -1 +1 @@
__version__ = "6.0.26" __version__ = "6.0.27"