minor fix

This commit is contained in:
2026-05-08 15:10:16 +08:00
parent acb5607e2c
commit 760b88faee

34
main.py
View File

@@ -254,8 +254,6 @@ def main(driver: WebDriver, logger = logging.getLogger('main')):
jsonrpc2.define('cancel', lambda: flow.do(Cancel))
jsonrpc2.define('skip', lambda: flow.do(Skip))
jsonrpc2.define('progress', lambda: progress)
jsonrpc2.remove('uptime')
jsonrpc2.define('uptime', lambda: [t1.delta(), t2.delta()])
while not wait(1):
try:
@@ -286,6 +284,9 @@ def main(driver: WebDriver, logger = logging.getLogger('main')):
progress['task'] = 'Task 1 of 4'
t2.clear()
t2.start()
jsonrpc2.remove('uptime')
jsonrpc2.define('uptime', lambda: [t1.delta(), t2.delta()])
base = APIURL % profile.subdomain
data = list()
df = options.get('datefrom')
@@ -324,6 +325,7 @@ def main(driver: WebDriver, logger = logging.getLogger('main')):
logger.info('Initializing Workbook...')
progress['task'] = 'Task 2 of 4'
progress['limit'] = len(data)
progress['index'] = 0
t2.clear()
t2.start()
workbook = openpyxl.Workbook()
@@ -371,34 +373,29 @@ def main(driver: WebDriver, logger = logging.getLogger('main')):
try:
for i, item in enumerate(data, 1):
flow.react()
number: str = item['number']
logger.info('[%d/%d] Preprocessing data for %s', i, len(data), number)
progress['number'] = number
progress['index'] = i-1
if (x := item['category_id']) not in categories:
flow.react()
response = fetch(f'{base}/categories/{x}.json?api_token={profile.token}')
if 'error' in response:
error = response['error']
code = response['code']
if 'error' in (res := fetch(f'{base}/categories/{x}.json?api_token={profile.token}')):
error = res['error']
code = res['code']
logger.warning("Error while fetching 'category' (code: %s, message: %s); skipping", code, error)
continue
else:
categories[x] = response
categories[x] = res
if (x := item['client_id']) not in clients:
flow.react()
response = fetch(f'{base}/clients/{x}.json?api_token={profile.token}')
if 'error' in response:
error = response['error']
code = response['code']
if 'error' in (res := fetch(f'{base}/clients/{x}.json?api_token={profile.token}')):
error = res['error']
code = res['code']
logger.warning("Error while fetching 'client' (code: %s, message: %s); skipping", code, error)
continue
else:
clients[x] = response
clients[x] = res
category = categories.get(item['category_id'])
client = clients.get(item['client_id'])
@@ -446,7 +443,6 @@ def main(driver: WebDriver, logger = logging.getLogger('main')):
if record[9] is None: logger.warning("Could not identify product '%s'", product)
sheet.append(record.data)
flow.react()
except Skip:
pass
except Cancel: