Skip to content

Commit

Permalink
Fix cognate import and DictManager window title
Browse files Browse the repository at this point in the history
  • Loading branch information
1over137 committed Mar 2, 2024
1 parent 9c0fcd5 commit 97b935f
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 11 deletions.
13 changes: 7 additions & 6 deletions vocabsieve/dictformats.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,28 +87,29 @@ def dictinfo(path) -> dict[str, str]:
try:
d = json.load(f)
if isinstance(d, list):
if isinstance(d[0], str):
if isinstance(d[0], str): # Frequency list is a list of strings
return {
"type": "freq",
"basename": basename,
"path": path}
else:
elif isinstance(d[0], dict): # Migaku dictionary is a list of dicts (records)
return {
"type": "migaku",
"basename": basename,
"path": path}
elif isinstance(d, dict):
return {"type": "json", "basename": basename, "path": path}
if isinstance(d[next(iter(d))], str): # Simple JSON is a dict from word to definition
return {"type": "json", "basename": basename, "path": path}
elif isinstance(d[next(iter(d))], dict): # Cognates is a dict from language to dict from word to definition
return {"type": "cognates", "basename": basename, "path": path}
except json.decoder.JSONDecodeError:
f.seek(0)
first_line = f.readline()
logger.debug("First line of bad json file: ", first_line)
logger.debug("Detected Kaikki wiktionary dump")
if json.loads(first_line):
return {"type": "wiktdump", "basename": basename, "path": path}
except:
logger.error("Unsupported json format: ", path)
raise NotImplementedError("Unsupported format")
raise NotImplementedError(f"File {path} is not a supported json format")
elif ext == ".ifo":
return {"type": "stardict", "basename": basename, "path": path}
elif ext == ".mdx":
Expand Down
4 changes: 2 additions & 2 deletions vocabsieve/dictmanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,9 +166,9 @@ def __init__(self, parent, fname, audiolib=False):
self.fname = fname
self.audiolib = audiolib
if audiolib:
self.setWindowTitle("Add dictionary or frequency list")
else:
self.setWindowTitle("Add sound library")
else:
self.setWindowTitle("Add dictionary or frequency list")
try:
dictinfo(self.fname)
except NotImplementedError:
Expand Down
2 changes: 1 addition & 1 deletion vocabsieve/fieldmatcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ def __init__(self, parent):
super().__init__()
self.parent = parent
self.settings = parent.settings
api = self.settings.value("anki_api", "127.0.0.1:8765")
api = self.settings.value("anki_api", "http://127.0.0.1:8765")
self.models = getNoteTypes(api)
if not self.models:
return
Expand Down
3 changes: 1 addition & 2 deletions vocabsieve/record.py
Original file line number Diff line number Diff line change
Expand Up @@ -533,8 +533,7 @@ def _refreshKnownData(self) -> tuple[dict[str, WordRecord], KnownMetadata]:
return result, metadata
fieldmap = json.loads(self.settings.value("tracking/fieldmap", "{}"))

anki_api = self.settings.value("anki_api", "127.0.0.1:8765")
_ = getVersion(anki_api)
anki_api = self.settings.value("anki_api", "http://127.0.0.1:8765")

mature_notes = findNotes(
anki_api,
Expand Down

0 comments on commit 97b935f

Please sign in to comment.