From d3c8386874af9febfd0be0f4fccbded629c0e56b Mon Sep 17 00:00:00 2001 From: Jai Gupta Date: Mon, 6 Nov 2023 17:20:27 +0530 Subject: [PATCH] Import - Improved Wachete Excel XLS import support for "dynamic wachet" (sets correct state of using chrome browser or not) column (#1934) --- changedetectionio/importer.py | 4 +++- .../tests/import/spreadsheet.xlsx | Bin 29544 -> 29607 bytes changedetectionio/tests/test_import.py | 9 ++++++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/changedetectionio/importer.py b/changedetectionio/importer.py index 60e494e0..c1eda44d 100644 --- a/changedetectionio/importer.py +++ b/changedetectionio/importer.py @@ -171,10 +171,12 @@ class import_xlsx_wachete(Importer): data[column_title] = cell.value # Forced switch to webdriver/playwright/etc - dynamic_wachet = str(data.get('dynamic wachet')).strip().lower() # Convert bool to str to cover all cases + dynamic_wachet = str(data.get('dynamic wachet', '')).strip().lower() # Convert bool to str to cover all cases # libreoffice and others can have it as =FALSE() =TRUE(), or bool(true) if 'true' in dynamic_wachet or dynamic_wachet == '1': extras['fetch_backend'] = 'html_webdriver' + elif 'false' in dynamic_wachet or dynamic_wachet == '0': + extras['fetch_backend'] = 'html_requests' if data.get('xpath'): # @todo split by || ? diff --git a/changedetectionio/tests/import/spreadsheet.xlsx b/changedetectionio/tests/import/spreadsheet.xlsx index b7f33db26f2addeaa92bc81d6aa9070e7bd09555..d25b933b465acd508f7803e3b5f3c68186b510f0 100644 GIT binary patch literal 29607 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 literal 29544 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 bv(TI#GM@|Peb%f6;J+GBPUb3F^4