diff --git a/main.py b/main.py index 95e0a81..831e42a 100644 --- a/main.py +++ b/main.py @@ -210,13 +210,12 @@ def main(driver: WebDriver, logger = logging.getLogger('main')): @classmethod def perform(cls): - try: spin = driver.find_elements(By.CSS_SELECTOR, ".okki-spin") - except: spin = None - - if spin: - sleep(parameters['interval']) - return True if status == Status.RUNNING: + try: + if driver.find_elements(By.CSS_SELECTOR, ".okki-spin"): + sleep(parameters['interval']) + return True + except: pass t1.start() return False @@ -263,6 +262,7 @@ def main(driver: WebDriver, logger = logging.getLogger('main')): profile = None progress = { 'task': '' } selection = 0 + errors = list() sp.add(pairs=[ (k.lower(), v) for k, v in flow ]) sp.set('actions', lambda: flow.capabilities()) @@ -283,6 +283,7 @@ def main(driver: WebDriver, logger = logging.getLogger('main')): except (IndexError, KeyError): logger.info('Done') status = Status.READY + if errors: logger.error('Empty response from:\n\n%s' % ', '.join(errors)) continue except StopIteration: logger.error("Invalid profile '%s'", name) @@ -293,6 +294,7 @@ def main(driver: WebDriver, logger = logging.getLogger('main')): status = Status.STANDBY continue + errors.clear() progress.clear() progress['task'] = 'Task 1 of 4' t2.clear() @@ -332,6 +334,7 @@ def main(driver: WebDriver, logger = logging.getLogger('main')): if len(data) == 0: logger.warning('Server returned an empty response') + errors.append(profile.name) continue logger.info('Initializing Workbook...') @@ -486,9 +489,9 @@ def main(driver: WebDriver, logger = logging.getLogger('main')): driver.get(WEBURL % 'order/importOrder') click(".product-import-img-box .import-img-radio:nth-child(2) .mm-radio-group > label:nth-child(2) .mm-radio-input", condition=None) - click(".product-import-img-box .mm-selector-rendered") - click(".mm-outside.mm-select-dropdown ul li:nth-child(%d) span" % (1 if options.get('draft') else 6)) - locate(".big-file-upload input", wait=False).send_keys(str(file)) + click(".import-order-item .okki-select") + click(".okki-select-dropdown .rc-virtual-list-holder-inner > div:nth-child(%d)" % (1 if options.get('draft') else 6)) + locate(".import-order-item .big-file-upload input", wait=False).send_keys(str(file)) click(".product-import-img-footer button") logger.info('Done') except Skip: