Allow text word lists to be imported
Former-commit-id: ac96ec75dd83094a5dd1455a77f2d0fb68bed0b7
This commit is contained in:
parent
1d5b9f8234
commit
1e2f0e51a2
@ -72,7 +72,8 @@ class MainWindowReader(QtGui.QMainWindow, gen.reader_ui.Ui_MainWindowReader):
|
||||
self.actionFind.triggered.connect(self.onActionFind)
|
||||
self.actionFindNext.triggered.connect(self.onActionFindNext)
|
||||
self.actionHomepage.triggered.connect(self.onActionHomepage)
|
||||
self.actionImportKindleDeck.triggered.connect(self.onActionImportKindleDeck)
|
||||
self.actionKindleDeck.triggered.connect(self.onActionKindleDeck)
|
||||
self.actionWordList.triggered.connect(self.onActionWordList)
|
||||
self.actionOpen.triggered.connect(self.onActionOpen)
|
||||
self.actionPreferences.triggered.connect(self.onActionPreferences)
|
||||
self.actionToggleWrap.toggled.connect(self.onActionToggleWrap)
|
||||
@ -183,7 +184,7 @@ class MainWindowReader(QtGui.QMainWindow, gen.reader_ui.Ui_MainWindowReader):
|
||||
self.openFile(filename)
|
||||
|
||||
|
||||
def onActionImportKindleDeck(self):
|
||||
def onActionKindleDeck(self):
|
||||
filename = QtGui.QFileDialog.getOpenFileName(
|
||||
parent=self,
|
||||
caption='Select a Kindle deck to import',
|
||||
@ -194,6 +195,17 @@ class MainWindowReader(QtGui.QMainWindow, gen.reader_ui.Ui_MainWindowReader):
|
||||
self.importWordList(words)
|
||||
|
||||
|
||||
def onActionWordList(self):
|
||||
filename = QtGui.QFileDialog.getOpenFileName(
|
||||
parent=self,
|
||||
caption='Select a word list file to import',
|
||||
filter='Text files (*.txt);;All files (*.*)'
|
||||
)
|
||||
if filename:
|
||||
words = reader_util.extractWordList(filename)
|
||||
self.importWordList(words)
|
||||
|
||||
|
||||
def onActionPreferences(self):
|
||||
dialog = preferences.DialogPreferences(self, self.preferences, self.anki)
|
||||
if dialog.exec_() == QtGui.QDialog.Accepted:
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
from PyQt4 import QtGui
|
||||
import re
|
||||
import codecs
|
||||
import sqlite3
|
||||
|
||||
|
||||
@ -249,5 +250,10 @@ def extractKindleDeck(filename):
|
||||
return words
|
||||
|
||||
|
||||
def importWordList(self, words):
|
||||
pass
|
||||
def extractWordList(filename):
|
||||
words = list()
|
||||
|
||||
with codecs.open(unicode(filename), 'rb', 'utf-8') as fp:
|
||||
words = re.split('[;,\s]', fp.read())
|
||||
|
||||
return filter(None, words)
|
||||
|
Loading…
Reference in New Issue
Block a user