Files
kman/changelog.md
2020-06-03 21:08:07 +08:00

64 lines
1.6 KiB
Markdown

# Change Log
---
## 1.0.0 (20200526)
### create
- 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 :smile:
- 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)
```
## 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 ![kman GUI](https://i.loli.net/2020/06/03/wlFETiSCPmx29hI.png)
# feature plan
## 20200528
- first abstract from kindle hard / local directory for different OS
- add GUI use QT