diff --git a/yomi_base/japanese2/translate.py b/yomi_base/japanese2/translate.py
index db382cd..4f4c397 100644
--- a/yomi_base/japanese2/translate.py
+++ b/yomi_base/japanese2/translate.py
@@ -27,7 +27,7 @@ class Translator:
self.dictionary = dictionary
- def wordSearch(self, selection):
+ def findTerm(self, selection, partial=False):
groups = dict()
for i in xrange(len(selection), 0, -1):
@@ -35,7 +35,7 @@ class Translator:
deinflections = self.deinflector.deinflect(term, self.validator)
if deinflections is None:
- self.processTerm(groups, term)
+ self.processTerm(groups, term, partial=partial)
else:
for deinflection in deinflections:
self.processTerm(groups, **deinflection)
@@ -51,10 +51,10 @@ class Translator:
return results, length
- def processTerm(self, groups, source, rules=list(), root=str()):
+ def processTerm(self, groups, source, rules=list(), root=str(), partial=False):
root = root or source
- for entry in self.dictionary.findTerm(root):
+ for entry in self.dictionary.findTerm(root, partial):
expression, reading, definition, tags = entry
key = expression, reading, definition
if key not in groups:
diff --git a/yomi_base/reader.py b/yomi_base/reader.py
index 53baf76..12eaccb 100644
--- a/yomi_base/reader.py
+++ b/yomi_base/reader.py
@@ -269,11 +269,7 @@ class MainWindowReader(QtGui.QMainWindow, reader_ui.Ui_MainWindowReader):
def onDefinitionSearchReturn(self):
text = unicode(self.textDefinitionSearch.text())
- definitions, length = self.language.wordSearch(
- text,
- self.preferences.searchResultMax,
- self.preferences.searchGroupByExp
- )
+ definitions, length = self.language.findTerm(text, True)
self.state.definitions = reader_util.convertDefinitions(definitions)
self.updateDefinitions()
@@ -493,11 +489,7 @@ class MainWindowReader(QtGui.QMainWindow, reader_ui.Ui_MainWindowReader):
return
contentSampleFlat = contentSample.replace('\n', unicode())
- definitionsMatched, lengthMatched = self.language.wordSearch(
- contentSampleFlat,
- self.preferences.searchResultMax,
- self.preferences.searchGroupByExp
- )
+ definitionsMatched, lengthMatched = self.language.findTerm(contentSampleFlat)
sentence = reader_util.findSentence(content, samplePosStart)
self.state.definitions = reader_util.convertDefinitions(definitionsMatched, sentence)
diff --git a/yomi_base/reader_util.py b/yomi_base/reader_util.py
index 5eec98f..8f9a096 100644
--- a/yomi_base/reader_util.py
+++ b/yomi_base/reader_util.py
@@ -144,9 +144,10 @@ def buildDefinitionHtml(definition, factIndex, factQuery):
if definition.reading:
reading = u'[{0}]'.format(definition.reading)
- conjugation = unicode()
- if definition.conjugations:
- conjugation = '<{0}>
'.format(definition.conjugations)
+ conjugations = unicode()
+ if len(definition.conjugations) > 0:
+ conjugations = u' :: '.join(definition.conjugations)
+ conjugations = '<{0}>
'.format(conjugations)
links = ''.format(factIndex)
if factQuery:
@@ -159,8 +160,8 @@ def buildDefinitionHtml(definition, factIndex, factQuery):
{0}
{1} {2}
{3}
- {4}
-
""".format(links, definition.expression, reading, definition.glossary, conjugation)
+ {4}
+
""".format(links, definition.expression, reading, definition.glossary, conjugations)
return html