xxyzz / WordDumb

A calibre plugin that generates Kindle Word Wise and X-Ray files for KFX, AZW3, MOBI and EPUB eBook.
https://xxyzz.github.io/WordDumb/
GNU General Public License v3.0
386 stars 19 forks source link

Cannot access local variable 'dest_name' where it is not associated with a value #120

Closed gloverd closed 1 year ago

gloverd commented 1 year ago

Checkboxes

Describe the bug

When trying to generate wordwise, I get the following error (full error below: UnboundLocalError: cannot access local variable 'dest_name' where it is not associated with a value .

I've tried with several books; and also after restarting calibre, windows, and re-installing the plugin.

System Information

OS: Windows 10 Home (21H2) Calibre: 6.16 Python: 3.11.1 WordDumb: 3.29.1

Error message

calibre, version 6.16.0 (win32, embedded-python: True)
Tonnerre de Brest!: An error occurred, please copy error message then report bug at GitHub.

Starting job: Generating Word Wise and X-Ray for Maison de la terre et du sang 
Job: "Generating Word Wise and X-Ray for Maison de la terre et du sang" failed with error: 
Traceback (most recent call last):
  File "calibre\gui2\threaded_jobs.py", line 82, in start_work
  File "calibre_plugins.worddumb.parse_job", line 188, in do_job
  File "calibre_plugins.worddumb.utils", line 51, in run_subprocess
  File "subprocess.py", line 524, in run
subprocess.CalledProcessError: Command '['py', 'C:\\Users\\latob\\AppData\\Roaming\\calibre\\plugins\\WordDumb.zip', '{"create_ww": true, "create_x": true, "asin": "BBA4URMM65", "book_path": "C:\\\\Users\\\\latob\\\\Calibre Library\\\\Sarah J. Maas\\\\Maison de la terre et du sang (68)\\\\Maison de la terre et du sang - Sarah J. Maas_en.mobi", "acr": "Maison_de_la_terre_et_du_sang", "revision": "dd438b4d", "model": "fr_core_news_md", "lemma_lang": "fr", "mobi_codec": "utf-8", "useragent": "WordDumb/3.29.1 (https://github.com/xxyzz/WordDumb)", "book_fmt": "MOBI", "plugin_path": "C:\\\\Users\\\\latob\\\\AppData\\\\Roaming\\\\calibre\\\\plugins\\\\WordDumb.zip"}', '{"use_pos": false, "search_people": false, "model_size": "md", "zh_wiki_variant": "cn", "fandom": "", "add_locator_map": false, "preferred_formats": ["MOBI", "KFX", "AZW3", "AZW", "EPUB"], "use_all_formats": false, "minimal_x_ray_count": 3, "en_ipa": "ga_ipa", "zh_ipa": "pinyin", "choose_format_manually": true, "wiktionary_gloss_lang": "fr", "kindle_gloss_lang": "fr", "use_gpu": false, "cuda": "cu118", "last_opened_kindle_lemmas_language": "fr", "last_opened_wiktionary_lemmas_language": "fr", "use_wiktionary_for_kindle": false, "ca_wiktionary_difficulty_limit": 5, "da_wiktionary_difficulty_limit": 5, "de_wiktionary_difficulty_limit": 5, "el_wiktionary_difficulty_limit": 5, "en_wiktionary_difficulty_limit": 5, "es_wiktionary_difficulty_limit": 5, "fi_wiktionary_difficulty_limit": 5, "fr_wiktionary_difficulty_limit": 5, "hr_wiktionary_difficulty_limit": 5, "it_wiktionary_difficulty_limit": 5, "ja_wiktionary_difficulty_limit": 5, "ko_wiktionary_difficulty_limit": 5, "lt_wiktionary_difficulty_limit": 5, "mk_wiktionary_difficulty_limit": 5, "nl_wiktionary_difficulty_limit": 5, "no_wiktionary_difficulty_limit": 5, "pl_wiktionary_difficulty_limit": 5, "pt_wiktionary_difficulty_limit": 5, "ro_wiktionary_difficulty_limit": 5, "ru_wiktionary_difficulty_limit": 5, "sv_wiktionary_difficulty_limit": 5, "uk_wiktionary_difficulty_limit": 5, "zh_wiktionary_difficulty_limit": 5}']' returned non-zero exit status 1.

Called with args: ((68, 'MOBI', 'C:\\Users\\latob\\Calibre Library\\Sarah J. Maas\\Maison de la terre et du sang (68)\\Maison de la terre et du sang - Sarah J. Maas.mobi', <calibre.ebooks.metadata.book.base.Metadata object at 0x000002A201BA4EB0>, 'fr'), True, True) {'notifications': <queue.Queue object at 0x000002A201BA7610>, 'abort': <threading.Event object at 0x000002A201BA7670>, 'log': <calibre.utils.logging.GUILog object at 0x000002A201BA7D30>} 
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\latob\AppData\Roaming\calibre\plugins\WordDumb.zip\__main__.py", line 40, in <module>
  File "C:\Users\latob\AppData\Roaming\calibre\plugins\WordDumb.zip\parse_job.py", line 355, in create_files
  File "C:\Users\latob\AppData\Roaming\calibre\plugins\WordDumb.zip\x_ray.py", line 200, in finish
  File "C:\Users\latob\AppData\Roaming\calibre\plugins\WordDumb.zip\x_ray.py", line 169, in merge_entities
UnboundLocalError: cannot access local variable 'dest_name' where it is not associated with a value

and from log:
Starting job: Generating Word Wise and X-Ray for Maison de la terre et du sang 
Job: "Generating Word Wise and X-Ray for Maison de la terre et du sang" failed with error: 
Traceback (most recent call last):
  File "calibre\gui2\threaded_jobs.py", line 82, in start_work
  File "calibre_plugins.worddumb.parse_job", line 188, in do_job
  File "calibre_plugins.worddumb.utils", line 51, in run_subprocess
  File "subprocess.py", line 524, in run
subprocess.CalledProcessError: Command '['py', 'C:\\Users\\latob\\AppData\\Roaming\\calibre\\plugins\\WordDumb.zip', '{"create_ww": true, "create_x": true, "asin": "BBA4URMM65", "book_path": "C:\\\\Users\\\\latob\\\\Calibre Library\\\\Sarah J. Maas\\\\Maison de la terre et du sang (68)\\\\Maison de la terre et du sang - Sarah J. Maas_en.mobi", "acr": "Maison_de_la_terre_et_du_sang", "revision": "dd438b4d", "model": "fr_core_news_md", "lemma_lang": "fr", "mobi_codec": "utf-8", "useragent": "WordDumb/3.29.1 (https://github.com/xxyzz/WordDumb)", "book_fmt": "MOBI", "plugin_path": "C:\\\\Users\\\\latob\\\\AppData\\\\Roaming\\\\calibre\\\\plugins\\\\WordDumb.zip"}', '{"use_pos": false, "search_people": false, "model_size": "md", "zh_wiki_variant": "cn", "fandom": "", "add_locator_map": false, "preferred_formats": ["MOBI", "KFX", "AZW3", "AZW", "EPUB"], "use_all_formats": false, "minimal_x_ray_count": 3, "en_ipa": "ga_ipa", "zh_ipa": "pinyin", "choose_format_manually": true, "wiktionary_gloss_lang": "fr", "kindle_gloss_lang": "fr", "use_gpu": false, "cuda": "cu118", "last_opened_kindle_lemmas_language": "fr", "last_opened_wiktionary_lemmas_language": "fr", "use_wiktionary_for_kindle": false, "ca_wiktionary_difficulty_limit": 5, "da_wiktionary_difficulty_limit": 5, "de_wiktionary_difficulty_limit": 5, "el_wiktionary_difficulty_limit": 5, "en_wiktionary_difficulty_limit": 5, "es_wiktionary_difficulty_limit": 5, "fi_wiktionary_difficulty_limit": 5, "fr_wiktionary_difficulty_limit": 5, "hr_wiktionary_difficulty_limit": 5, "it_wiktionary_difficulty_limit": 5, "ja_wiktionary_difficulty_limit": 5, "ko_wiktionary_difficulty_limit": 5, "lt_wiktionary_difficulty_limit": 5, "mk_wiktionary_difficulty_limit": 5, "nl_wiktionary_difficulty_limit": 5, "no_wiktionary_difficulty_limit": 5, "pl_wiktionary_difficulty_limit": 5, "pt_wiktionary_difficulty_limit": 5, "ro_wiktionary_difficulty_limit": 5, "ru_wiktionary_difficulty_limit": 5, "sv_wiktionary_difficulty_limit": 5, "uk_wiktionary_difficulty_limit": 5, "zh_wiktionary_difficulty_limit": 5}']' returned non-zero exit status 1.

Called with args: ((68, 'MOBI', 'C:\\Users\\latob\\Calibre Library\\Sarah J. Maas\\Maison de la terre et du sang (68)\\Maison de la terre et du sang - Sarah J. Maas.mobi', , 'fr'), True, True) {'notifications': , 'abort': , 'log': }

Reproduce steps

Click on any book, and click on word dumb

Screenshots or videos

No response

xxyzz commented 1 year ago

https://github.com/xxyzz/WordDumb/commit/1d42d3510e2773e8a7d4f4ca63725f6318d2f297 fixes the bug. You can download the test plugin from GitHub Actions Artifacts when the test finishes: https://github.com/xxyzz/WordDumb/actions/runs/4818438308