3.8 KiB
3.8 KiB
Change Log
➕ - Added
✅ - Done
📝 - Doing
❌ - Deprecated
🔧 - Fixed
1.0.0 (20200526)
create
- unittest
- abstract note/bookmark/highlight from kindle clipping
- formatter output to special file
1.0.1 (20200528)
feature
- add search clip and some functions
learn lesson
- assign value to a not exist key, will throw KeyError, too inflexible!!! perl much better
- use defaultdict to solve obove problem, note, defaultdict only create two layer key auto
a=defaultdict(dict)
a['1']['2'] = 1
b=defaultdict(dict)
b['1']['2']['3'] = 1 # ERROR
b['1']['2'] = {'3':1} # OK
- logging, file io, very strict indent!
- re.X(VERBOSE), different regular express between vim & python
- no c like i=x<0?m:n => python - i=m if x<0 else n
- json dict convert
- pylint check code, but most of suggest is unacceptable for me 😄
- no c/c++/java/perl switch-case, not use two much if-elif-elif, use this to simplify:
suff = {'MD':'.md','CSV':'.csv','JSON':'.json'}
op = OUTPREF+suff[ft]
- assign value style is pithiness
(authinfo, dateinfo, content) = (s[0], s[1], s[2] if len(s)==3 else None)
- unittest error line number is not collect, unitest bug?
- unitest testcase execution sequence is disorder, so must create test data for each case
1.0.2 (20200530)
feature
- remove duplication
- refactor some code
- optimize search feature
learn lesson
- change dict keys between iteration, will throw RuntimeError:
dictionary changed size during iteration
- reference - http://www.cocoachina.com/articles/89748
- pyQt5 reference - https://www.learnpyqt.com/
1.0.3 (20200603)
feature
- design GUI with qdesigner
- define toolbar action's slots
1.0.4 (20200604)
feature
- refactoring kman.py
- creat constant class for all constant
- creat config dialog to do some constant configuration
- creat xman class for all clipping manipulation
- design config dialog & statusbar information
learn lesson
- generate ui source(.py) use pyqtuic will 'import kmanapp_rc', so I need to use resouce file(.qrc) to manage resouce(icons), and generator rcc binnay file, must kmanapp_rc.py command: pyside2-rcc -binary kmanapp.qrc -o kmanapp_rc.py
- use QTime to check kindle kindle is connected or not
- implement table model which inherited from QAbstractTableModel, so we can use panda data structure
1.0.5 (20200613)
feature
- backup clips after kman closed, check and read backup file when kman started
- import words from kindle, export filtered words to MD/CSV
learn lesson
1.1.0 (20200617)
feature
- book information grabbed from douban / amazon
feature list
- first abstract from kindle hard / local directory for different OS
- add GUI use QT
- use thread to check kindle connection status
- import function:
- local
- kindle
- duokan
- amazon
- link to douban and amazon
- export function:
- to evernote
- to web html format
- onenote
- txt
- markdown
- easily copy filter notes to clipboard
- implement command line based on argparse
- ❌ mobi / epub reader
- import .azw3/.epub/.mobi file to kindle
- convert .epub -> .mobi
.azw3 -> .mobi
.md -> .mobi - parse /Volumes/Kindle/system/vocabulary/vocab.db
- hotkey
- write tutorial
- search word in online dictionary
- chrome extension
- clean (sdr)
- sync modify to kindle device
- compare parse html info with xpath & beautisoap & regex