kindle manager

This commit is contained in:
gavin
2020-07-06 14:06:56 +08:00
parent 23d124fdf1
commit e27a2ca1ac
4 changed files with 34954 additions and 35239 deletions

View File

@@ -15,8 +15,8 @@ from time import sleep
from mtable import mTable
import threading
#if hasattr(sys, 'frozen'):
# os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']
if hasattr(sys, 'frozen'):
os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']
from PySide2.QtWidgets import (QMainWindow, QApplication, QMessageBox,
QFileDialog, QLabel, QAbstractItemView, QHeaderView, QMenu)

View File

@@ -1,7 +1,9 @@
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['kman.py', 'kmanapp.py', 'kmanapp_rc.py', 'mainwindow.py', 'mtable.py', 'parseweb.py', ],
a = Analysis(['kmanapp.spec\r'],
pathex=['/Users/mark/kman'],
binaries=[],
datas=[],
@@ -24,7 +26,7 @@ exe = EXE(pyz,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False , icon='kmanapp.ico')
console=True )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
@@ -33,7 +35,3 @@ coll = COLLECT(exe,
upx=True,
upx_exclude=[],
name='kmanapp')
app = BUNDLE(coll,
name='kmanapp.app',
icon='kmanapp.ico',
bundle_identifier=None)

File diff suppressed because it is too large Load Diff

View File

@@ -1,129 +1,153 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'mainwindow.ui',
# licensing of 'mainwindow.ui' applies.
#
# Created: Mon Jul 6 13:21:29 2020
# by: pyside2-uic running on PySide2 5.12.6
#
# WARNING! All changes made in this file will be lost!
################################################################################
## Form generated from reading UI file 'mainwindow.ui'
##
## Created by: Qt User Interface Compiler version 5.15.0
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide2 import QtCore, QtGui, QtWidgets
from PySide2.QtCore import (QCoreApplication, QDate, QDateTime, QMetaObject,
QObject, QPoint, QRect, QSize, QTime, QUrl, Qt)
from PySide2.QtGui import (QBrush, QColor, QConicalGradient, QCursor, QFont,
QFontDatabase, QIcon, QKeySequence, QLinearGradient, QPalette, QPainter,
QPixmap, QRadialGradient)
from PySide2.QtWidgets import *
import kmanapp_rc
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
if not MainWindow.objectName():
MainWindow.setObjectName(u"MainWindow")
MainWindow.resize(774, 410)
MainWindow.setIconSize(QtCore.QSize(40, 40))
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName("gridLayout")
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.searchLabel = QtWidgets.QLabel(self.centralwidget)
self.searchLabel.setObjectName("searchLabel")
MainWindow.setIconSize(QSize(40, 40))
self.actionimportlocal = QAction(MainWindow)
self.actionimportlocal.setObjectName(u"actionimportlocal")
icon = QIcon()
icon.addFile(u":/icons/downr.png", QSize(), QIcon.Normal, QIcon.Off)
self.actionimportlocal.setIcon(icon)
self.actionimportkindle = QAction(MainWindow)
self.actionimportkindle.setObjectName(u"actionimportkindle")
icon1 = QIcon()
icon1.addFile(u":/icons/kindle.png", QSize(), QIcon.Normal, QIcon.Off)
self.actionimportkindle.setIcon(icon1)
self.actionconfig = QAction(MainWindow)
self.actionconfig.setObjectName(u"actionconfig")
icon2 = QIcon()
icon2.addFile(u":/icons/config.png", QSize(), QIcon.Normal, QIcon.Off)
self.actionconfig.setIcon(icon2)
self.actionflush = QAction(MainWindow)
self.actionflush.setObjectName(u"actionflush")
icon3 = QIcon()
icon3.addFile(u":/icons/refresh.png", QSize(), QIcon.Normal, QIcon.Off)
self.actionflush.setIcon(icon3)
self.actionwords = QAction(MainWindow)
self.actionwords.setObjectName(u"actionwords")
icon4 = QIcon()
icon4.addFile(u":/icons/books.png", QSize(), QIcon.Normal, QIcon.Off)
self.actionwords.setIcon(icon4)
self.actionstatistic = QAction(MainWindow)
self.actionstatistic.setObjectName(u"actionstatistic")
icon5 = QIcon()
icon5.addFile(u":/icons/statistics.png", QSize(), QIcon.Normal, QIcon.Off)
self.actionstatistic.setIcon(icon5)
self.actionhomepage = QAction(MainWindow)
self.actionhomepage.setObjectName(u"actionhomepage")
icon6 = QIcon()
icon6.addFile(u":/icons/web.png", QSize(), QIcon.Normal, QIcon.Off)
self.actionhomepage.setIcon(icon6)
self.actionabout = QAction(MainWindow)
self.actionabout.setObjectName(u"actionabout")
icon7 = QIcon()
icon7.addFile(u":/icons/question.png", QSize(), QIcon.Normal, QIcon.Off)
self.actionabout.setIcon(icon7)
self.actionsearch = QAction(MainWindow)
self.actionsearch.setObjectName(u"actionsearch")
icon8 = QIcon()
icon8.addFile(u":/icons/Pixadex.png", QSize(), QIcon.Normal, QIcon.Off)
self.actionsearch.setIcon(icon8)
self.actionexport = QAction(MainWindow)
self.actionexport.setObjectName(u"actionexport")
icon9 = QIcon()
icon9.addFile(u":/icons/md2.png", QSize(), QIcon.Normal, QIcon.Off)
self.actionexport.setIcon(icon9)
self.centralwidget = QWidget(MainWindow)
self.centralwidget.setObjectName(u"centralwidget")
self.gridLayout = QGridLayout(self.centralwidget)
self.gridLayout.setObjectName(u"gridLayout")
self.horizontalLayout = QHBoxLayout()
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.searchLabel = QLabel(self.centralwidget)
self.searchLabel.setObjectName(u"searchLabel")
self.horizontalLayout.addWidget(self.searchLabel)
self.searchLineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.searchLineEdit.setObjectName("searchLineEdit")
self.searchLineEdit = QLineEdit(self.centralwidget)
self.searchLineEdit.setObjectName(u"searchLineEdit")
self.horizontalLayout.addWidget(self.searchLineEdit)
self.searchComboBox = QtWidgets.QComboBox(self.centralwidget)
self.searchComboBox.setCurrentText("")
self.searchComboBox.setObjectName("searchComboBox")
self.searchComboBox = QComboBox(self.centralwidget)
self.searchComboBox.setObjectName(u"searchComboBox")
self.horizontalLayout.addWidget(self.searchComboBox)
self.searchToolButton = QtWidgets.QToolButton(self.centralwidget)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/icons/search.jpeg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.searchToolButton.setIcon(icon)
self.searchToolButton.setObjectName("searchToolButton")
self.searchToolButton = QToolButton(self.centralwidget)
self.searchToolButton.setObjectName(u"searchToolButton")
icon10 = QIcon()
icon10.addFile(u":/icons/search.jpeg", QSize(), QIcon.Normal, QIcon.Off)
self.searchToolButton.setIcon(icon10)
self.horizontalLayout.addWidget(self.searchToolButton)
self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1)
self.splitter_2 = QtWidgets.QSplitter(self.centralwidget)
self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
self.splitter_2.setObjectName("splitter_2")
self.treeView = QtWidgets.QTreeView(self.splitter_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding)
self.splitter_2 = QSplitter(self.centralwidget)
self.splitter_2.setObjectName(u"splitter_2")
self.splitter_2.setOrientation(Qt.Horizontal)
self.treeView = QTreeView(self.splitter_2)
self.treeView.setObjectName(u"treeView")
sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.treeView.sizePolicy().hasHeightForWidth())
self.treeView.setSizePolicy(sizePolicy)
self.treeView.setMaximumSize(QtCore.QSize(401, 16777215))
self.treeView.setObjectName("treeView")
self.treeView.setMaximumSize(QSize(401, 16777215))
self.splitter_2.addWidget(self.treeView)
self.treeView.header().setVisible(False)
self.splitter = QtWidgets.QSplitter(self.splitter_2)
self.splitter.setOrientation(QtCore.Qt.Vertical)
self.splitter.setObjectName("splitter")
self.tableView = QtWidgets.QTableView(self.splitter)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.tableView.sizePolicy().hasHeightForWidth())
self.tableView.setSizePolicy(sizePolicy)
self.tableView.setObjectName("tableView")
self.textEdit = QtWidgets.QTextBrowser(self.splitter)
self.textEdit.setObjectName("textEdit")
self.splitter = QSplitter(self.splitter_2)
self.splitter.setObjectName(u"splitter")
self.splitter.setOrientation(Qt.Vertical)
self.tableView = QTableView(self.splitter)
self.tableView.setObjectName(u"tableView")
sizePolicy1 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Expanding)
sizePolicy1.setHorizontalStretch(0)
sizePolicy1.setVerticalStretch(0)
sizePolicy1.setHeightForWidth(self.tableView.sizePolicy().hasHeightForWidth())
self.tableView.setSizePolicy(sizePolicy1)
self.splitter.addWidget(self.tableView)
self.textEdit = QTextBrowser(self.splitter)
self.textEdit.setObjectName(u"textEdit")
self.splitter.addWidget(self.textEdit)
self.splitter_2.addWidget(self.splitter)
self.gridLayout.addWidget(self.splitter_2, 1, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
self.statusbar = QStatusBar(MainWindow)
self.statusbar.setObjectName(u"statusbar")
MainWindow.setStatusBar(self.statusbar)
self.menuBar = QtWidgets.QMenuBar()
self.menuBar.setGeometry(QtCore.QRect(0, 0, 774, 22))
self.menuBar.setObjectName("menuBar")
self.menuBar = QMenuBar(MainWindow)
self.menuBar.setObjectName(u"menuBar")
self.menuBar.setGeometry(QRect(0, 0, 774, 22))
MainWindow.setMenuBar(self.menuBar)
self.toolBar = QtWidgets.QToolBar(MainWindow)
self.toolBar.setObjectName("toolBar")
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
self.actionimportlocal = QtWidgets.QAction(MainWindow)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(":/icons/downr.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionimportlocal.setIcon(icon1)
self.actionimportlocal.setObjectName("actionimportlocal")
self.actionimportkindle = QtWidgets.QAction(MainWindow)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(":/icons/kindle.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionimportkindle.setIcon(icon2)
self.actionimportkindle.setObjectName("actionimportkindle")
self.actionconfig = QtWidgets.QAction(MainWindow)
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap(":/icons/config.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionconfig.setIcon(icon3)
self.actionconfig.setObjectName("actionconfig")
self.actionflush = QtWidgets.QAction(MainWindow)
icon4 = QtGui.QIcon()
icon4.addPixmap(QtGui.QPixmap(":/icons/refresh.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionflush.setIcon(icon4)
self.actionflush.setObjectName("actionflush")
self.actionwords = QtWidgets.QAction(MainWindow)
icon5 = QtGui.QIcon()
icon5.addPixmap(QtGui.QPixmap(":/icons/books.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionwords.setIcon(icon5)
self.actionwords.setObjectName("actionwords")
self.actionstatistic = QtWidgets.QAction(MainWindow)
icon6 = QtGui.QIcon()
icon6.addPixmap(QtGui.QPixmap(":/icons/statistics.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionstatistic.setIcon(icon6)
self.actionstatistic.setObjectName("actionstatistic")
self.actionhomepage = QtWidgets.QAction(MainWindow)
icon7 = QtGui.QIcon()
icon7.addPixmap(QtGui.QPixmap(":/icons/web.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionhomepage.setIcon(icon7)
self.actionhomepage.setObjectName("actionhomepage")
self.actionabout = QtWidgets.QAction(MainWindow)
icon8 = QtGui.QIcon()
icon8.addPixmap(QtGui.QPixmap(":/icons/question.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionabout.setIcon(icon8)
self.actionabout.setObjectName("actionabout")
self.actionsearch = QtWidgets.QAction(MainWindow)
icon9 = QtGui.QIcon()
icon9.addPixmap(QtGui.QPixmap(":/icons/Pixadex.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionsearch.setIcon(icon9)
self.actionsearch.setObjectName("actionsearch")
self.actionexport = QtWidgets.QAction(MainWindow)
icon10 = QtGui.QIcon()
icon10.addPixmap(QtGui.QPixmap(":/icons/md2.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionexport.setIcon(icon10)
self.actionexport.setObjectName("actionexport")
self.toolBar = QToolBar(MainWindow)
self.toolBar.setObjectName(u"toolBar")
MainWindow.addToolBar(Qt.TopToolBarArea, self.toolBar)
self.toolBar.addAction(self.actionimportkindle)
self.toolBar.addAction(self.actionimportlocal)
self.toolBar.addSeparator()
@@ -139,33 +163,56 @@ class Ui_MainWindow(object):
self.toolBar.addAction(self.actionflush)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
QMetaObject.connectSlotsByName(MainWindow)
# setupUi
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtWidgets.QApplication.translate("MainWindow", "Kindle Management", None, -1))
self.searchLabel.setText(QtWidgets.QApplication.translate("MainWindow", "Search", None, -1))
self.searchLineEdit.setPlaceholderText(QtWidgets.QApplication.translate("MainWindow", "可按书名、作者、内容搜索笔记", None, -1))
self.searchToolButton.setText(QtWidgets.QApplication.translate("MainWindow", "...", None, -1))
self.toolBar.setWindowTitle(QtWidgets.QApplication.translate("MainWindow", "toolBar", None, -1))
self.actionimportlocal.setText(QtWidgets.QApplication.translate("MainWindow", "importlocal", None, -1))
self.actionimportlocal.setToolTip(QtWidgets.QApplication.translate("MainWindow", "import clipping file from local clipping file", None, -1))
self.actionimportkindle.setText(QtWidgets.QApplication.translate("MainWindow", "importkindle", None, -1))
self.actionimportkindle.setToolTip(QtWidgets.QApplication.translate("MainWindow", "import clipping file from kindle", None, -1))
self.actionconfig.setText(QtWidgets.QApplication.translate("MainWindow", "config", None, -1))
self.actionconfig.setToolTip(QtWidgets.QApplication.translate("MainWindow", "configuration", None, -1))
self.actionflush.setText(QtWidgets.QApplication.translate("MainWindow", "refresh", None, -1))
self.actionflush.setToolTip(QtWidgets.QApplication.translate("MainWindow", "refresh import file/quick import from kindle", None, -1))
self.actionwords.setText(QtWidgets.QApplication.translate("MainWindow", "words", None, -1))
self.actionwords.setToolTip(QtWidgets.QApplication.translate("MainWindow", "words", None, -1))
self.actionstatistic.setText(QtWidgets.QApplication.translate("MainWindow", "statistic", None, -1))
self.actionstatistic.setToolTip(QtWidgets.QApplication.translate("MainWindow", "statistics reading habbit", None, -1))
self.actionhomepage.setText(QtWidgets.QApplication.translate("MainWindow", "homepage", None, -1))
self.actionhomepage.setToolTip(QtWidgets.QApplication.translate("MainWindow", "redirect to my homepage", None, -1))
self.actionabout.setText(QtWidgets.QApplication.translate("MainWindow", "about", None, -1))
self.actionabout.setToolTip(QtWidgets.QApplication.translate("MainWindow", "open about dialog", None, -1))
self.actionsearch.setText(QtWidgets.QApplication.translate("MainWindow", "search", None, -1))
self.actionsearch.setToolTip(QtWidgets.QApplication.translate("MainWindow", "search note", None, -1))
self.actionexport.setText(QtWidgets.QApplication.translate("MainWindow", "export", None, -1))
self.actionexport.setToolTip(QtWidgets.QApplication.translate("MainWindow", "export to file", None, -1))
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"Kindle Management", None))
self.actionimportlocal.setText(QCoreApplication.translate("MainWindow", u"importlocal", None))
#if QT_CONFIG(tooltip)
self.actionimportlocal.setToolTip(QCoreApplication.translate("MainWindow", u"import clipping file from local clipping file", None))
#endif // QT_CONFIG(tooltip)
self.actionimportkindle.setText(QCoreApplication.translate("MainWindow", u"importkindle", None))
#if QT_CONFIG(tooltip)
self.actionimportkindle.setToolTip(QCoreApplication.translate("MainWindow", u"import clipping file from kindle", None))
#endif // QT_CONFIG(tooltip)
self.actionconfig.setText(QCoreApplication.translate("MainWindow", u"config", None))
#if QT_CONFIG(tooltip)
self.actionconfig.setToolTip(QCoreApplication.translate("MainWindow", u"configuration", None))
#endif // QT_CONFIG(tooltip)
self.actionflush.setText(QCoreApplication.translate("MainWindow", u"refresh", None))
#if QT_CONFIG(tooltip)
self.actionflush.setToolTip(QCoreApplication.translate("MainWindow", u"refresh import file/quick import from kindle", None))
#endif // QT_CONFIG(tooltip)
self.actionwords.setText(QCoreApplication.translate("MainWindow", u"words", None))
#if QT_CONFIG(tooltip)
self.actionwords.setToolTip(QCoreApplication.translate("MainWindow", u"words", None))
#endif // QT_CONFIG(tooltip)
self.actionstatistic.setText(QCoreApplication.translate("MainWindow", u"statistic", None))
#if QT_CONFIG(tooltip)
self.actionstatistic.setToolTip(QCoreApplication.translate("MainWindow", u"statistics reading habbit", None))
#endif // QT_CONFIG(tooltip)
self.actionhomepage.setText(QCoreApplication.translate("MainWindow", u"homepage", None))
#if QT_CONFIG(tooltip)
self.actionhomepage.setToolTip(QCoreApplication.translate("MainWindow", u"redirect to my homepage", None))
#endif // QT_CONFIG(tooltip)
self.actionabout.setText(QCoreApplication.translate("MainWindow", u"about", None))
#if QT_CONFIG(tooltip)
self.actionabout.setToolTip(QCoreApplication.translate("MainWindow", u"open about dialog", None))
#endif // QT_CONFIG(tooltip)
self.actionsearch.setText(QCoreApplication.translate("MainWindow", u"search", None))
#if QT_CONFIG(tooltip)
self.actionsearch.setToolTip(QCoreApplication.translate("MainWindow", u"search note", None))
#endif // QT_CONFIG(tooltip)
self.actionexport.setText(QCoreApplication.translate("MainWindow", u"export", None))
#if QT_CONFIG(tooltip)
self.actionexport.setToolTip(QCoreApplication.translate("MainWindow", u"export to file", None))
#endif // QT_CONFIG(tooltip)
self.searchLabel.setText(QCoreApplication.translate("MainWindow", u"Search", None))
self.searchLineEdit.setPlaceholderText(QCoreApplication.translate("MainWindow", u"\u53ef\u6309\u4e66\u540d\u3001\u4f5c\u8005\u3001\u5185\u5bb9\u641c\u7d22\u7b14\u8bb0", None))
self.searchComboBox.setCurrentText("")
self.searchToolButton.setText(QCoreApplication.translate("MainWindow", u"...", None))
self.toolBar.setWindowTitle(QCoreApplication.translate("MainWindow", u"toolBar", None))
# retranslateUi
import kmanapp_rc