Update xiaoxueguan.py

This commit is contained in:
恍兮惚兮 2024-08-11 14:44:08 +08:00
parent 461ddefe13
commit 7b483f200d

View File

@ -1,4 +1,4 @@
import sqlite3, os import sqlite3, os, re
import winsharedutils import winsharedutils
from myutils.utils import argsort, autosql from myutils.utils import argsort, autosql
@ -15,9 +15,13 @@ class xiaoxueguan(cishubase):
except: except:
pass pass
def search(self, word): def search(self, word: str):
if not self.sql: if not self.sql:
return return
if word in "【】":
return
if not word.strip():
return
x = self.sql.execute( x = self.sql.execute(
"select word,explanation from xiaoxueguanrizhong where word like ?", "select word,explanation from xiaoxueguanrizhong where word like ?",
("%{}%".format(word),), ("%{}%".format(word),),
@ -27,8 +31,17 @@ class xiaoxueguan(cishubase):
save = [] save = []
dis = [] dis = []
for w, xx in exp: for w, xx in exp:
w: str = w.strip()
d = winsharedutils.distance(w, word) if w.startswith("-"):
w = w[1:]
match1 = re.match("(.*?)【(.*?)】", w)
if match1:
pr, w = match1.groups()
d = min(
winsharedutils.distance(pr, word), winsharedutils.distance(w, word)
)
else:
d = winsharedutils.distance(w, word)
if d <= self.config["distance"]: if d <= self.config["distance"]:
dis.append(d) dis.append(d)