From e7577a7cd00539ab8eaf63167b9837d427484e94 Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Sat, 20 Dec 2014 20:19:22 +0900 Subject: [PATCH] Stub for importing word list Former-commit-id: ee45d2c32f6ec50a4ab38cd5e139636b103efa9f --- ui/reader.ui | 4 ++-- yomi_base/gen/about_ui.py | 2 +- yomi_base/gen/preferences_ui.py | 2 +- yomi_base/gen/reader_ui.py | 10 +++++----- yomi_base/gen/resources_rc.py | 2 +- yomi_base/reader.py | 16 ++++++++++++++++ yomi_base/reader_util.py | 19 +++++++++++++++++++ 7 files changed, 45 insertions(+), 10 deletions(-) diff --git a/ui/reader.ui b/ui/reader.ui index f6995b3..39146c3 100644 --- a/ui/reader.ui +++ b/ui/reader.ui @@ -64,7 +64,7 @@ - + @@ -460,7 +460,7 @@ &Kanji - + Import &Kindle deck... diff --git a/yomi_base/gen/about_ui.py b/yomi_base/gen/about_ui.py index c8ddcdf..de323ad 100644 --- a/yomi_base/gen/about_ui.py +++ b/yomi_base/gen/about_ui.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'ui/about.ui' # -# Created: Sat Dec 20 19:45:21 2014 +# Created: Sat Dec 20 20:08:12 2014 # by: PyQt4 UI code generator 4.10.4 # # WARNING! All changes made in this file will be lost! diff --git a/yomi_base/gen/preferences_ui.py b/yomi_base/gen/preferences_ui.py index 8716637..5a15775 100644 --- a/yomi_base/gen/preferences_ui.py +++ b/yomi_base/gen/preferences_ui.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'ui/preferences.ui' # -# Created: Sat Dec 20 19:45:21 2014 +# Created: Sat Dec 20 20:08:12 2014 # by: PyQt4 UI code generator 4.10.4 # # WARNING! All changes made in this file will be lost! diff --git a/yomi_base/gen/reader_ui.py b/yomi_base/gen/reader_ui.py index 0c31afc..22f88c8 100644 --- a/yomi_base/gen/reader_ui.py +++ b/yomi_base/gen/reader_ui.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'ui/reader.ui' # -# Created: Sat Dec 20 19:45:21 2014 +# Created: Sat Dec 20 20:08:13 2014 # by: PyQt4 UI code generator 4.10.4 # # WARNING! All changes made in this file will be lost! @@ -211,13 +211,13 @@ class Ui_MainWindowReader(object): self.actionToggleKanji = QtGui.QAction(MainWindowReader) self.actionToggleKanji.setCheckable(True) self.actionToggleKanji.setObjectName(_fromUtf8("actionToggleKanji")) - self.menuImportKindleDeck = QtGui.QAction(MainWindowReader) - self.menuImportKindleDeck.setObjectName(_fromUtf8("menuImportKindleDeck")) + self.actionImportKindleDeck = QtGui.QAction(MainWindowReader) + self.actionImportKindleDeck.setObjectName(_fromUtf8("actionImportKindleDeck")) self.menuFile.addAction(self.actionOpen) self.menuFile.addAction(self.menuOpenArchive.menuAction()) self.menuFile.addAction(self.menuOpenRecent.menuAction()) self.menuFile.addSeparator() - self.menuFile.addAction(self.menuImportKindleDeck) + self.menuFile.addAction(self.actionImportKindleDeck) self.menuFile.addSeparator() self.menuFile.addAction(self.actionQuit) self.menuEdit.addSeparator() @@ -308,6 +308,6 @@ class Ui_MainWindowReader(object): self.actionToggleAnki.setText(_translate("MainWindowReader", "&Anki", None)) self.actionFeedback.setText(_translate("MainWindowReader", "&Feedback...", None)) self.actionToggleKanji.setText(_translate("MainWindowReader", "&Kanji", None)) - self.menuImportKindleDeck.setText(_translate("MainWindowReader", "Import &Kindle deck...", None)) + self.actionImportKindleDeck.setText(_translate("MainWindowReader", "Import &Kindle deck...", None)) import resources_rc diff --git a/yomi_base/gen/resources_rc.py b/yomi_base/gen/resources_rc.py index 29386e0..07a7b53 100644 --- a/yomi_base/gen/resources_rc.py +++ b/yomi_base/gen/resources_rc.py @@ -2,7 +2,7 @@ # Resource object code # -# Created: Sat Dec 20 19:45:21 2014 +# Created: Sat Dec 20 20:08:13 2014 # by: The Resource Compiler for PyQt (Qt v4.8.6) # # WARNING! All changes made in this file will be lost! diff --git a/yomi_base/reader.py b/yomi_base/reader.py index a52ad63..a9adca0 100644 --- a/yomi_base/reader.py +++ b/yomi_base/reader.py @@ -72,6 +72,7 @@ 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.actionOpen.triggered.connect(self.onActionOpen) self.actionPreferences.triggered.connect(self.onActionPreferences) self.actionToggleWrap.toggled.connect(self.onActionToggleWrap) @@ -182,6 +183,17 @@ class MainWindowReader(QtGui.QMainWindow, gen.reader_ui.Ui_MainWindowReader): self.openFile(filename) + def onActionImportKindleDeck(self): + filename = QtGui.QFileDialog.getOpenFileName( + parent=self, + caption='Select a Kindle deck to import', + filter='Deck files (*.db)' + ) + if filename: + words = reader_util.extractKindleDeck(filename) + self.importWordList(words) + + def onActionPreferences(self): dialog = preferences.DialogPreferences(self, self.preferences, self.anki) if dialog.exec_() == QtGui.QDialog.Accepted: @@ -539,5 +551,9 @@ class MainWindowReader(QtGui.QMainWindow, gen.reader_ui.Ui_MainWindowReader): self.textKanjiDefs.setHtml(html) + def importWordList(self, words): + pass + + def setStatus(self, status): self.statusBar.showMessage(status) diff --git a/yomi_base/reader_util.py b/yomi_base/reader_util.py index 83df133..131bfc6 100644 --- a/yomi_base/reader_util.py +++ b/yomi_base/reader_util.py @@ -18,6 +18,7 @@ from PyQt4 import QtGui import re +import sqlite3 def decodeContent(content): @@ -232,3 +233,21 @@ def buildKanjiDefs(definitions, query): html += buildEmpty() return html + buildDefFooter() + + +def extractKindleDeck(filename): + words = list() + + try: + connection = sqlite3.connect(unicode(filename)) + for row in connection.execute('select word from WORDS'): + words.append(row[0]) + connection.close() + except sqlite3.OperationalError: + pass + + return words + + +def importWordList(self, words): + pass