Skip to content
This repository has been archived by the owner on Nov 30, 2023. It is now read-only.

Fix for ruby bug when using 地 in sentences and config bug #136

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ __pycache__
chinese/config_saved.json
chinese/meta.json
Pipfile.lock
.vscode
1 change: 0 additions & 1 deletion chinese/behavior.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
set_all,
)


def get_classifier(hanzi, note):
cs = dictionary.get_classifiers(hanzi)
text = ', '.join(colorize_dict(c) for c in cs)
Expand Down
41 changes: 7 additions & 34 deletions chinese/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,44 +18,17 @@
# Chinese Support Redux. If not, see <https://www.gnu.org/licenses/>.

from collections import defaultdict
from json import dump, load
from os.path import dirname, exists, join, realpath

from aqt import mw


class ConfigManager:
default_path = join(dirname(realpath(__file__)), 'config.json')
saved_path = join(dirname(realpath(__file__)), 'config_saved.json')

with open(default_path, encoding='utf-8') as f:
config = defaultdict(str, load(f))

if exists(saved_path):
with open(saved_path, encoding='utf-8') as f:
config_saved = defaultdict(str, load(f))
if config_saved['version'] == config['version']:
config = config_saved

def __setitem__(self, key, value):
self.config[key] = value

def __getitem__(self, key):
return self.config[key]

def update(self, d):
self.config.update(d)

def save(self):
with open(self.saved_path, 'w', encoding='utf-8') as f:
dump(self.config, f)
mw.addonManager.writeConfig(__name__, self.config)
class ConfigManager(defaultdict):
def __init__(self):
self.update(mw.addonManager.getConfig(__name__))

def get_fields(self, groups=None):
if not groups:
groups = list(self.config['fields'])
groups = list(self['fields'])
fields = []
for g in groups:
if g in self.config['fields']:
fields.extend(self.config['fields'][g])
return fields
if g in self['fields']:
fields.extend(self['fields'][g])
return fields
2 changes: 2 additions & 0 deletions chinese/database.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,8 @@ def _get_char(self, c, type_):
self.c.execute('SELECT %s FROM hanzi WHERE cp = ?' % to_col[type_], c)
try:
(k,) = self.c.fetchone()
if k is not None:
k = k.split()[0] # When returning two transcriptions just take the first.
return k
except:
return None
Expand Down
2 changes: 0 additions & 2 deletions chinese/edit.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,6 @@ def onToggle(self, editor):
elif not self.buttonOn and mid in config['enabledModels']:
config['enabledModels'].remove(mid)

config.save()

def updateButton(self, editor):
enabled = str(editor.note.model()['id']) in config['enabledModels']

Expand Down
6 changes: 0 additions & 6 deletions chinese/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,18 +34,12 @@
from .templates import chinese, ruby


if config['firstRun']:
dictionary.create_indices()
config['firstRun'] = False


def load():
ruby.install()
chinese.install()
addHook('profileLoaded', load_menu)
addHook('profileLoaded', add_models)
addHook('loadNote', append_tone_styling)
addHook('unloadProfile', config.save)
addHook('unloadProfile', dictionary.conn.close)
addHook('unloadProfile', unload_menu)
CollectionStats.todayStats = wrap(
Expand Down