[Development] SmartMover - Parse a file and move files.(tkinter)
===
###### tags: `development`, `python`, `tool`, `tkinter`, `multithreading`, `multiprocess`, `pool`, `queue`, `progressbar`
[ToC]
## SmartMover.py</br>
### Prerequisite
This is a tool to parse log to find requested files and compare with some conditions to decide to move or not.
* Input:
1. target.txt
2. path of download file
3. path of upload file
4. path of temp file
* Output:
1. 20181027_2027_log.txt (varying with time date)
### ScreenShot

### Source code
{%gist 8b077d5e7cd7aa3bc12b341140ecfc86%}
## SmartMover.exe
To pack all python module into a exe file by:
```
pip install --upgrade pyinstaller
pyinstaller -F SmartMover.py
```
It is worth to notice that 64-bit exe can only run on 64-bit OS, and the .exe is dependent on the version of python you installed.
### Logs
``` batch=
D:\test\ttt>pyinstaller -F SmartMove.py
81 INFO: PyInstaller: 3.4
81 INFO: Python: 3.6.7
81 INFO: Platform: Windows-10-10.0.17134-SP0
84 INFO: wrote D:\test\ttt\SmartMove.spec
86 INFO: UPX is not available.
88 INFO: Extending PYTHONPATH with paths
['D:\\test\\ttt', 'D:\\test\\ttt']
88 INFO: checking Analysis
89 INFO: Building Analysis because Analysis-00.toc is non existent
90 INFO: Initializing module dependency graph...
95 INFO: Initializing module graph hooks...
98 INFO: Analyzing base_library.zip ...
3547 INFO: running Analysis Analysis-00.toc
3550 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
required by c:\users\Endorphin\appdata\local\programs\python\python36-32\python.exe
3594 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python.exe
3630 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python.exe
3672 WARNING: lib not found: api-ms-win-crt-locale-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python.exe
3713 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python.exe
3748 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python.exe
3927 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python36.dll
3960 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python36.dll
3996 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python36.dll
4032 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python36.dll
4072 WARNING: lib not found: api-ms-win-crt-conio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python36.dll
4108 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python36.dll
4148 WARNING: lib not found: api-ms-win-crt-locale-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python36.dll
4187 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python36.dll
4230 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python36.dll
4274 WARNING: lib not found: api-ms-win-crt-filesystem-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python36.dll
4317 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python36.dll
4353 WARNING: lib not found: api-ms-win-crt-process-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\python36.dll
4392 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\VCRUNTIME140.dll
4429 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\VCRUNTIME140.dll
4466 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\VCRUNTIME140.dll
4508 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\VCRUNTIME140.dll
4547 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\VCRUNTIME140.dll
4550 INFO: Caching module hooks...
4557 INFO: Analyzing D:\test\ttt\SmartMove.py
5345 INFO: Loading module hooks...
5346 INFO: Loading module hook "hook-encodings.py"...
5467 INFO: Loading module hook "hook-pydoc.py"...
5469 INFO: Loading module hook "hook-xml.py"...
5737 INFO: Loading module hook "hook-_tkinter.py"...
5788 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_tkinter.pyd
5824 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_tkinter.pyd
6007 INFO: checking Tree
6007 INFO: Building Tree because Tree-00.toc is non existent
6008 INFO: Building Tree Tree-00.toc
6144 INFO: checking Tree
6144 INFO: Building Tree because Tree-01.toc is non existent
6145 INFO: Building Tree Tree-01.toc
6196 INFO: Looking for ctypes DLLs
6201 INFO: Analyzing run-time hooks ...
6204 INFO: Including run-time hook 'pyi_rth_multiprocessing.py'
6208 INFO: Including run-time hook 'pyi_rth__tkinter.py'
6214 INFO: Looking for dynamic libraries
6257 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_decimal.pyd
6297 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_decimal.pyd
6338 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_decimal.pyd
6376 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_decimal.pyd
6418 WARNING: lib not found: api-ms-win-crt-locale-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_decimal.pyd
6457 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_decimal.pyd
6494 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_decimal.pyd
6538 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_ctypes.pyd
6585 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_ctypes.pyd
6623 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_ctypes.pyd
6677 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_multiprocessing.pyd
6721 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_ssl.pyd
6766 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_ssl.pyd
6807 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_ssl.pyd
6845 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_ssl.pyd
6881 WARNING: lib not found: api-ms-win-crt-conio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_ssl.pyd
6919 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_ssl.pyd
6961 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_ssl.pyd
7001 WARNING: lib not found: api-ms-win-crt-filesystem-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_ssl.pyd
7051 WARNING: lib not found: api-ms-win-crt-utility-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_ssl.pyd
7091 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_ssl.pyd
7140 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\unicodedata.pyd
7183 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\unicodedata.pyd
7225 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\unicodedata.pyd
7271 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\pyexpat.pyd
7309 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\pyexpat.pyd
7346 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\pyexpat.pyd
7387 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\pyexpat.pyd
7426 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\pyexpat.pyd
7473 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_hashlib.pyd
7512 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_hashlib.pyd
7555 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_hashlib.pyd
7595 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_hashlib.pyd
7638 WARNING: lib not found: api-ms-win-crt-conio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_hashlib.pyd
7676 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_hashlib.pyd
7721 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_hashlib.pyd
7762 WARNING: lib not found: api-ms-win-crt-utility-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_hashlib.pyd
7806 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_hashlib.pyd
7853 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\select.pyd
7893 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_bz2.pyd
7931 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_bz2.pyd
7971 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_bz2.pyd
8015 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_bz2.pyd
8054 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_bz2.pyd
8096 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_lzma.pyd
8140 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_lzma.pyd
8188 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_socket.pyd
8237 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_tkinter.pyd
8273 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\_tkinter.pyd
8365 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tcl86t.dll
8405 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tcl86t.dll
8449 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tcl86t.dll
8485 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tcl86t.dll
8528 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tcl86t.dll
8566 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tcl86t.dll
8613 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tcl86t.dll
8656 WARNING: lib not found: api-ms-win-crt-utility-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tcl86t.dll
8698 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tcl86t.dll
8777 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tk86t.dll
8820 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tk86t.dll
8857 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tk86t.dll
8897 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tk86t.dll
8937 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tk86t.dll
8982 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tk86t.dll
9030 WARNING: lib not found: api-ms-win-crt-utility-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tk86t.dll
9072 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:\users\Endorphin\appdata\local\programs\python\python36-32\DLLs\tk86t.dll
9075 INFO: Looking for eggs
9076 INFO: Using Python library c:\users\Endorphin\appdata\local\programs\python\python36-32\python36.dll
9079 INFO: Found binding redirects:
[]
9088 INFO: Warnings written to D:\test\ttt\build\SmartMove\warn-SmartMove.txt
9148 INFO: Graph cross-reference written to D:\test\ttt\build\SmartMove\xref-SmartMove.html
9197 INFO: checking PYZ
9197 INFO: Building PYZ because PYZ-00.toc is non existent
9199 INFO: Building PYZ (ZlibArchive) D:\test\ttt\build\SmartMove\PYZ-00.pyz
9791 INFO: Building PYZ (ZlibArchive) D:\test\ttt\build\SmartMove\PYZ-00.pyz completed successfully.
9803 INFO: checking PKG
9804 INFO: Building PKG because PKG-00.toc is non existent
9804 INFO: Building PKG (CArchive) PKG-00.pkg
14036 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
14074 INFO: Bootloader c:\users\Endorphin\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\bootloader\Windows-32bit\run.exe
14075 INFO: checking EXE
14076 INFO: Building EXE because EXE-00.toc is non existent
14077 INFO: Building EXE from EXE-00.toc
14080 INFO: Appending archive to EXE D:\test\ttt\dist\SmartMove.exe
14095 INFO: Building EXE from EXE-00.toc completed successfully.
```
And you will get below folders.

## Reference
http://effbot.org/tkinterbook/grid.htm
https://www.python-course.eu/tkinter_buttons.php
http://yhhuang1966.blogspot.com/2016/05/python-gui-tkinter.html
https://matthewventure.blogspot.com/2016/07/notepad-python.html
https://medium.com/pyladies-taiwan/python-%E5%B0%87python%E6%89%93%E5%8C%85%E6%88%90exe%E6%AA%94-32a4bacbe351
https://blog.csdn.net/aic1999/article/details/79825982