diff --git a/src/app.py b/src/app.py index f1eab6077bb649dc33fde24d7f959b45061b66e0..f8564335b8f08c2acdd3edfa68c95ad69f1f06d9 100644 --- a/src/app.py +++ b/src/app.py @@ -35,7 +35,9 @@ def search(wiktlang, wordlang, word): return jsonify({"error": "Parsing page resulted in error: " + str(e)}), 500 finally: - wiktextractor.page_handler.wxr.wtp.db_conn.close() + wiktextractor.wxr.wtp.db_conn.close() + if wiktextractor.wxr.thesaurus_db_conn: + wiktextractor.wxr.thesaurus_db_conn.close() else: return ( diff --git a/src/wiktextract_wrapper.py b/src/wiktextract_wrapper.py index f748e68baa9125d2e65d891c3f01d024b14d9ef6..0f072ec1d0a51548829adba9ccdd30f1915fddd0 100644 --- a/src/wiktextract_wrapper.py +++ b/src/wiktextract_wrapper.py @@ -1,8 +1,7 @@ -from wiktextract.wiktionary import page_handler -from wikitextprocessor import Page +from wiktextract.page import parse_page from wiktextract_context import get_wiktextract_context - + db_path = "./sqlite.db" DEFAULT_PAGE_VALUES = { @@ -16,33 +15,28 @@ class Wiktextract: self.wiktlang = wiktlang self.wordlang = wordlang - self.page_handler = page_handler - self.page_handler.wxr = get_wiktextract_context(wiktlang, wordlang) + # self.page_handler = page_handler + # self.page_handler.wxr : WiktextractContext = + self.wxr = get_wiktextract_context(wiktlang, wordlang) def parse_page(self, title: str, wikicode: str): # add page to the database (making it accessible to LUA templates) - self.page_handler.wxr.wtp.add_page( + self.wxr.wtp.add_page( title=title, namespace_id=DEFAULT_PAGE_VALUES["namespace_id"], body=wikicode, model=DEFAULT_PAGE_VALUES["model"], ) - # create a page object (for parsing) - page = Page(title, 0, None, True, wikicode, "wikitext") + self.wxr.wtp.start_page(title) - # parse the page - success, ret, err = self.page_handler(page) - result, parsing_errors = ret + result = parse_page(self.wxr, title, wikicode) # remove the page from the database - self.page_handler.wxr.wtp.db_conn.execute( + self.wxr.wtp.db_conn.execute( "DELETE FROM pages WHERE title = ? AND model = ?", (title, DEFAULT_PAGE_VALUES["model"]), ) - self.page_handler.wxr.wtp.db_conn.commit() + self.wxr.wtp.db_conn.commit() - if success: - return result - else: - raise Exception(err) + return result