Import functions explicitly

This commit is contained in:
stephenmk 2023-04-23 12:33:42 -05:00
parent e9cbd8fe4e
commit 298b25ed9e
No known key found for this signature in database
GPG key ID: B6DA730DB06235F1
6 changed files with 21 additions and 21 deletions

View file

@ -7,7 +7,7 @@ from pathlib import Path
from platformdirs import user_config_dir
def config():
def load_config():
config_dir = user_config_dir("jitenbot")
if not Path(config_dir).is_dir():
os.makedirs(config_dir)
@ -16,25 +16,25 @@ def config():
with open(config_file, "r") as f:
config = json.load(f)
else:
config = __default_config()
config = __load_default_config()
with open(config_file, "w") as f:
json.dump(config, f, indent=4)
return config
def yomichan_inflection_categories():
def load_yomichan_inflection_categories():
file_name = "yomichan_inflection_categories.json"
data = __load_json(file_name)
return data
def yomichan_metadata():
def load_yomichan_metadata():
file_name = "yomichan_metadata.json"
data = __load_json(file_name)
return data
def variant_kanji():
def load_variant_kanji():
def loader(data, row):
data[row[0]] = row[1]
file_name = "variant_kanji.csv"
@ -43,7 +43,7 @@ def variant_kanji():
return data
def __default_config():
def __load_default_config():
file_name = "default_config.json"
data = __load_json(file_name)
return data

View file

@ -2,7 +2,7 @@ import re
from datetime import datetime, date
from bs4 import BeautifulSoup
import bot.data as Data
from bot.data import load_variant_kanji
import bot.expressions as Expressions
@ -11,12 +11,12 @@ class JitenonEntry:
def __init__(self, entry_id):
if self._VARIANT_KANJI is None:
self._VARIANT_KANJI = Data.variant_kanji()
self._VARIANT_KANJI = load_variant_kanji()
self.entry_id = entry_id
self.markup = ""
self.modified_date = date(1970, 1, 1)
self.attribution = ""
for column in self.COLUMNS.values():
for column in self._COLUMNS.values():
setattr(self, column[0], column[1])
self._headwords = None
@ -74,7 +74,7 @@ class JitenonEntry:
self.modified_date = date
def __set_column(self, colname, colval):
attr_name = self.COLUMNS[colname][0]
attr_name = self._COLUMNS[colname][0]
attr_value = getattr(self, attr_name)
if isinstance(attr_value, str):
setattr(self, attr_name, colval)
@ -130,7 +130,7 @@ class JitenonEntry:
def __str__(self):
colvals = [str(self.entry_id)]
for attr in self.COLUMNS.values():
for attr in self._COLUMNS.values():
attr_val = getattr(self, attr[0])
if isinstance(attr_val, str):
colvals.append(attr_val)
@ -140,7 +140,7 @@ class JitenonEntry:
class JitenonYojiEntry(JitenonEntry):
COLUMNS = {
_COLUMNS = {
"四字熟語": ["expression", ""],
"読み方": ["yomikata", ""],
"意味": ["imi", ""],
@ -160,7 +160,7 @@ class JitenonYojiEntry(JitenonEntry):
class JitenonKotowazaEntry(JitenonEntry):
COLUMNS = {
_COLUMNS = {
"言葉": ["expression", ""],
"読み方": ["yomikata", ""],
"意味": ["imi", ""],

View file

@ -11,7 +11,7 @@ from urllib.parse import urlparse
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
import bot.data as Data
from bot.data import load_config
class Scraper():
@ -19,7 +19,7 @@ class Scraper():
def __init__(self):
if self.__CONFIG is None:
self.__CONFIG = Data.config()
self.__CONFIG = load_config()
pattern = r"^(?:([A-Za-z0-9.\-]+)\.)?" + self.domain + r"$"
self.netloc_re = re.compile(pattern)
self.__set_session()

View file

@ -5,7 +5,7 @@ from pathlib import Path
from datetime import datetime
from platformdirs import user_documents_dir, user_cache_dir
from bot.data import yomichan_metadata
from bot.data import load_yomichan_metadata
from bot.yomichan.terms.jitenon import JitenonYojiTerminator
from bot.yomichan.terms.jitenon import JitenonKotowazaTerminator
@ -17,7 +17,7 @@ class Exporter:
self._terms_per_file = 2000
def export(self, entries):
meta = yomichan_metadata()
meta = load_yomichan_metadata()
index = meta[self._name]["index"]
index["revision"] = self._get_revision(entries)
index["attribution"] = self._get_attribution(entries)

View file

@ -1,7 +1,7 @@
from sudachipy import tokenizer
from sudachipy import dictionary
import bot.data as Data
from bot.data import load_yomichan_inflection_categories
__U_KANA_LIST = ["", "", "", "", "", "", "",
"", "", "", "", "", "", ""]
@ -16,7 +16,7 @@ def sudachi_rules(expression):
if __SUDACHI_DICTIONARY is None:
__SUDACHI_DICTIONARY = dictionary.Dictionary(dict="full").create()
if __SUDACHI_INFLECTION_TYPES is None:
categories = Data.yomichan_inflection_categories()
categories = load_yomichan_inflection_categories()
__SUDACHI_INFLECTION_TYPES = categories["sudachi"]
splitmode = tokenizer.Tokenizer.SplitMode.A
tokens = __SUDACHI_DICTIONARY.tokenize(expression, splitmode)

View file

@ -1,4 +1,4 @@
import bot.yomichan.grammar as Grammar
from bot.yomichan.grammar import sudachi_rules
from bot.yomichan.terms.terminator import Terminator
from bot.yomichan.glossary.jitenon import make_glossary
@ -44,7 +44,7 @@ class JitenonKotowazaTerminator(JitenonTerminator):
super().__init__()
def _inflection_rules(self, entry, expression):
return Grammar.sudachi_rules(expression)
return sudachi_rules(expression)
def _term_tags(self, entry):
return ""