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

sqlite3.OperationalError: near "FROM": syntax error #129

Closed Vuizur closed 1 year ago

Vuizur commented 1 year ago

Checkboxes

Describe the bug

Thanks a lot for maintaining this great program!

I have a new install of the plugin and try to execute WordDumb with the standard settings (Use POS type enabled.) The specific book has both MOBI and epub versions, and I select epub in the popup, but then I get the following error.

System Information

OS: Windows 10 Calibre: 6.17 Python: 3.11 Plugin version: 3.29.1

Error message

Starting job: Generating Word Wise und X-Ray for Teatro Grottesco 
Job: "Generating Word Wise und X-Ray for Teatro Grottesco" 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\\hanne\\AppData\\Roaming\\calibre\\plugins\\WordDumb.zip', '{"create_ww": true, "create_x": true, "asin": "", "book_path": "C:\\\\Users\\\\hanne\\\\Calibre-Bibliothek\\\\Thomas Ligotti\\\\Teatro Grottesco (162)\\\\Teatro Grottesco - Thomas Ligotti.epub", "acr": "", "revision": "", "model": "es_core_news_md", "lemma_lang": "es", "mobi_codec": "", "useragent": "WordDumb/3.29.1 (https://github.com/xxyzz/WordDumb)", "book_fmt": "EPUB", "plugin_path": "C:\\\\Users\\\\hanne\\\\AppData\\\\Roaming\\\\calibre\\\\plugins\\\\WordDumb.zip"}', '{"use_pos": true, "search_people": false, "model_size": "md", "zh_wiki_variant": "cn", "fandom": "", "add_locator_map": false, "preferred_formats": ["KFX", "AZW3", "AZW", "MOBI", "EPUB"], "use_all_formats": false, "minimal_x_ray_count": 1, "en_ipa": "ga_ipa", "zh_ipa": "pinyin", "choose_format_manually": true, "wiktionary_gloss_lang": "en", "kindle_gloss_lang": "en", "use_gpu": false, "cuda": "cu118", "last_opened_kindle_lemmas_language": "ca", "last_opened_wiktionary_lemmas_language": "ca", "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: ((162, 'EPUB', 'C:\\Users\\hanne\\Calibre-Bibliothek\\Thomas Ligotti\\Teatro Grottesco (162)\\Teatro Grottesco - Thomas Ligotti.epub', <calibre.ebooks.metadata.book.base.Metadata object at 0x00000233546E9840>, 'es'), True, True) {'notifications': <queue.Queue object at 0x0000023354767E20>, 'abort': <threading.Event object at 0x000002335105C730>, 'log': <calibre.utils.logging.GUILog object at 0x000002335105C100>} 
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\hanne\AppData\Roaming\calibre\plugins\WordDumb.zip\__main__.py", line 40, in <module>
  File "C:\Users\hanne\AppData\Roaming\calibre\plugins\WordDumb.zip\parse_job.py", line 312, in create_files
  File "C:\Users\hanne\AppData\Roaming\calibre\plugins\WordDumb.zip\epub.py", line 238, in modify_epub
  File "C:\Users\hanne\AppData\Roaming\calibre\plugins\WordDumb.zip\epub.py", line 268, in insert_anchor_elements
  File "C:\Users\hanne\AppData\Roaming\calibre\plugins\WordDumb.zip\epub.py", line 290, in build_word_wise_tag
  File "C:\Users\hanne\AppData\Roaming\calibre\plugins\WordDumb.zip\epub.py", line 472, in get_lemma_gloss
  File "C:\Users\hanne\AppData\Roaming\calibre\plugins\WordDumb.zip\epub.py", line 480, in query_gloss_with_pos
sqlite3.OperationalError: near "FROM": syntax error

Reproduce steps

I could reproduce it with two different Spanish books, so I think it is not caused by idiosyncratic factors of a specific ebook.

Screenshots or videos

No response

xxyzz commented 1 year ago

The SQL query was not constructed correctly, https://github.com/xxyzz/WordDumb/commit/b4ef417e3fbc327952dba4f564a373816e59446e should fix this bug.

Vuizur commented 1 year ago

It works now, thanks a lot!