diff --git a/yomi_base/reader.py b/yomi_base/reader.py index 2a46438..92e93a3 100644 --- a/yomi_base/reader.py +++ b/yomi_base/reader.py @@ -444,26 +444,24 @@ class MainWindowReader(QtGui.QMainWindow, reader_ui.Ui_MainWindowReader): if factId is None: return False - expression, reading = markup['%e'], markup['%r'] - summary = expression - if reading: - summary = u'{0} [{1}]'.format(expression, reading) + if markup['reading']: + summary = u'{expression} [{reading}]'.format(**markup) + else: + summary = expression self.addedFacts.append(factId) self.listDefinitions.addItem(summary) self.listDefinitions.setCurrentRow(self.listDefinitions.count() - 1) - self.setStatus(u'Added expression {0}; {1} new fact(s) total'.format(expression, len(self.addedFacts))) + self.setStatus(u'Added expression {0}; {1} new fact(s) total'.format(markup['expression'], len(self.addedFacts))) self.updateDefinitions() return True def ankiIsFactValid(self, markup): - if self.anki is None: - return False - - fields = reader_util.replaceMarkupInFields(self.preferences.ankiFields, markup) - return self.anki.canAddNote(self.preferences.ankiDeck, self.preferences.ankiModel, fields) + if self.anki is not None: + fields = reader_util.replaceMarkupInFields(self.preferences.ankiFields, markup) + return self.anki.canAddNote(self.preferences.ankiDeck, self.preferences.ankiModel, fields) def updateSampleMouseEvent(self, event): diff --git a/yomi_base/reader_util.py b/yomi_base/reader_util.py index 07e32fe..eb66749 100644 --- a/yomi_base/reader_util.py +++ b/yomi_base/reader_util.py @@ -80,36 +80,29 @@ def findSentence(content, position): return content[start:end].strip() -def replaceMarkupInField(field, markup): - for marker, value in markup.items(): - field = field.replace(marker, value or unicode()) - - return field - - def replaceMarkupInFields(fields, markup): result = dict() for field, value in fields.items(): - result[field] = replaceMarkupInField(value, markup) + result[field] = value.format(**markup) return result def buildFactMarkupExpression(expression, reading, glossary, sentence=None): return { - '%e': expression, - '%r': reading, - '%g': glossary, - '%s': sentence + 'expression': expression, + 'reading': reading, + 'glossary': glossary, + 'sentence': sentence } def buildFactMarkupReading(reading, glossary, sentence=None): return { - '%e': reading, - '%r': None, - '%g': glossary, - '%s': sentence + 'expression': reading, + 'reading': unicode(), + 'glossary': glossary, + 'sentence': sentence } @@ -136,7 +129,7 @@ def buildDefinitionHtml(definition, factIndex, factQuery): conjugations = unicode() if len(definition['rules']) > 0: - conjugations = u' :: '.join(definition['rules']) + conjugations = u' • '.join(definition['rules']) conjugations = '<{0}>
'.format(conjugations) links = ''.format(factIndex)