Skip to content
Snippets Groups Projects
Commit 04b44fa5 authored by Empiriker's avatar Empiriker
Browse files

Use parse_page instead of page_handler

parent 1069396e
No related branches found
No related tags found
No related merge requests found
...@@ -35,7 +35,9 @@ def search(wiktlang, wordlang, word): ...@@ -35,7 +35,9 @@ def search(wiktlang, wordlang, word):
return jsonify({"error": "Parsing page resulted in error: " + str(e)}), 500 return jsonify({"error": "Parsing page resulted in error: " + str(e)}), 500
finally: 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: else:
return ( return (
......
from wiktextract.wiktionary import page_handler from wiktextract.page import parse_page
from wikitextprocessor import Page
from wiktextract_context import get_wiktextract_context from wiktextract_context import get_wiktextract_context
db_path = "./sqlite.db" db_path = "./sqlite.db"
DEFAULT_PAGE_VALUES = { DEFAULT_PAGE_VALUES = {
...@@ -16,33 +15,28 @@ class Wiktextract: ...@@ -16,33 +15,28 @@ class Wiktextract:
self.wiktlang = wiktlang self.wiktlang = wiktlang
self.wordlang = wordlang self.wordlang = wordlang
self.page_handler = page_handler # self.page_handler = page_handler
self.page_handler.wxr = get_wiktextract_context(wiktlang, wordlang) # self.page_handler.wxr : WiktextractContext =
self.wxr = get_wiktextract_context(wiktlang, wordlang)
def parse_page(self, title: str, wikicode: str): def parse_page(self, title: str, wikicode: str):
# add page to the database (making it accessible to LUA templates) # 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, title=title,
namespace_id=DEFAULT_PAGE_VALUES["namespace_id"], namespace_id=DEFAULT_PAGE_VALUES["namespace_id"],
body=wikicode, body=wikicode,
model=DEFAULT_PAGE_VALUES["model"], model=DEFAULT_PAGE_VALUES["model"],
) )
# create a page object (for parsing) self.wxr.wtp.start_page(title)
page = Page(title, 0, None, True, wikicode, "wikitext")
# parse the page result = parse_page(self.wxr, title, wikicode)
success, ret, err = self.page_handler(page)
result, parsing_errors = ret
# remove the page from the database # 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 = ?", "DELETE FROM pages WHERE title = ? AND model = ?",
(title, DEFAULT_PAGE_VALUES["model"]), (title, DEFAULT_PAGE_VALUES["model"]),
) )
self.page_handler.wxr.wtp.db_conn.commit() self.wxr.wtp.db_conn.commit()
if success: return result
return result
else:
raise Exception(err)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment