Compare commits
53 Commits
v0.4a
...
b6000c49fd
| Author | SHA1 | Date | |
|---|---|---|---|
| b6000c49fd | |||
| 851dcf103d | |||
| 4118ed82c3 | |||
| 435bb144ab | |||
| ccc06bc5f1 | |||
| ef91f8d26a | |||
| fe75d99736 | |||
| a4e550797c | |||
| 6e83ce559d | |||
| 04a32c7bd1 | |||
| e6fb04a9e7 | |||
| b53fb27a60 | |||
| 0bbb1947ee | |||
| 7ca177f29a | |||
| 1e8867182f | |||
| a798f29b73 | |||
| 59c41cc3ba | |||
| 18566dda2c | |||
| 59f11a2f8b | |||
| dfcbef7ae4 | |||
| 0502d77c14 | |||
| b7af353ab8 | |||
| 3f5ef6c103 | |||
| 21e7a29c33 | |||
| d01afc2ab3 | |||
| 9537530a34 | |||
| c401518db5 | |||
| 22413c3fb2 | |||
| bfbd0e8c79 | |||
| af880df5b3 | |||
| 3624d21e90 | |||
| 3c1aad543e | |||
| c5ee729683 | |||
| 56a509a5e6 | |||
| 84a38d0cb3 | |||
| 8ec7e5e835 | |||
| 4f05729782 | |||
| d7321a5041 | |||
| a29aa4da91 | |||
| 170959e529 | |||
| 3fa74f6ed9 | |||
| 2f1236449a | |||
| f43ed84d72 | |||
| 4057b31203 | |||
| 0ddd8af3bc | |||
| eec006f6c5 | |||
| 10f48a2303 | |||
| 4dd8673d86 | |||
| 1a9e9a7eac | |||
| 947c8e19ea | |||
| 3e6745fdeb | |||
| eebfefa0c3 | |||
| 8bbaa144d8 |
@@ -1,3 +1,5 @@
|
|||||||
/.DS_Store
|
/.DS_Store
|
||||||
/.project
|
/.project
|
||||||
/.pydevproject
|
/.pydevproject
|
||||||
|
/org.eclipse.core.resources.prefs
|
||||||
|
bananaSPLIT/build
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/org.eclipse.core.resources.prefs
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+22792
File diff suppressed because it is too large
Load Diff
+23149
File diff suppressed because it is too large
Load Diff
+30024
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
|||||||
|
Qui si mettono i file di test per la versione GUI di bananaSPLIT
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# -*- mode: python -*-
|
||||||
|
|
||||||
|
block_cipher = None
|
||||||
|
|
||||||
|
|
||||||
|
a = Analysis(['main.py'],
|
||||||
|
pathex=['D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT'],
|
||||||
|
binaries=[],
|
||||||
|
datas=[('C:\\Users\\Emanuele Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\text_unidecode\\data.bin', '.\\text_unidecode')],
|
||||||
|
hiddenimports=[],
|
||||||
|
hookspath=[],
|
||||||
|
runtime_hooks=[],
|
||||||
|
excludes=[],
|
||||||
|
win_no_prefer_redirects=False,
|
||||||
|
win_private_assemblies=False,
|
||||||
|
cipher=block_cipher,
|
||||||
|
noarchive=False)
|
||||||
|
pyz = PYZ(a.pure, a.zipped_data,
|
||||||
|
cipher=block_cipher)
|
||||||
|
exe = EXE(pyz,
|
||||||
|
a.scripts,
|
||||||
|
a.binaries,
|
||||||
|
a.zipfiles,
|
||||||
|
a.datas,
|
||||||
|
[],
|
||||||
|
name='bananaSPLIT.exe',
|
||||||
|
debug=False,
|
||||||
|
bootloader_ignore_signals=False,
|
||||||
|
strip=False,
|
||||||
|
upx=True,
|
||||||
|
runtime_tmpdir=None,
|
||||||
|
console=True , icon='banana.ico')
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,210 @@
|
|||||||
|
('D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\dist\\bananaSPLIT.exe',
|
||||||
|
True,
|
||||||
|
False,
|
||||||
|
False,
|
||||||
|
'banana.ico',
|
||||||
|
None,
|
||||||
|
False,
|
||||||
|
False,
|
||||||
|
'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"><assemblyIdentity name="bananaSPLIT.exe" processorArchitecture="amd64" type="win32" version="1.0.0.0"/><dependency><dependentAssembly><assemblyIdentity language="*" name="Microsoft.Windows.Common-Controls" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" type="win32" version="6.0.0.0"/><compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"/></dependentAssembly></dependency><compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"><application><supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/><supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/><supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/><supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/><supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/></application></compatibility></assembly>',
|
||||||
|
True,
|
||||||
|
'bananaSPLIT.pkg',
|
||||||
|
[('PYZ-00.pyz',
|
||||||
|
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\PYZ-00.pyz',
|
||||||
|
'PYZ'),
|
||||||
|
('struct',
|
||||||
|
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\localpycos\\struct.pyo',
|
||||||
|
'PYMODULE'),
|
||||||
|
('pyimod01_os_path',
|
||||||
|
'C:\\Users\\Emanuele '
|
||||||
|
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyimod01_os_path.pyc',
|
||||||
|
'PYMODULE'),
|
||||||
|
('pyimod02_archive',
|
||||||
|
'C:\\Users\\Emanuele '
|
||||||
|
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyimod02_archive.pyc',
|
||||||
|
'PYMODULE'),
|
||||||
|
('pyimod03_importers',
|
||||||
|
'C:\\Users\\Emanuele '
|
||||||
|
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyimod03_importers.pyc',
|
||||||
|
'PYMODULE'),
|
||||||
|
('pyiboot01_bootstrap',
|
||||||
|
'C:\\Users\\Emanuele '
|
||||||
|
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py',
|
||||||
|
'PYSOURCE'),
|
||||||
|
('main',
|
||||||
|
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\main.py',
|
||||||
|
'PYSOURCE'),
|
||||||
|
('api-ms-win-crt-stdio-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-stdio-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-runtime-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-runtime-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('VCRUNTIME140.dll',
|
||||||
|
'c:\\program files\\python37\\VCRUNTIME140.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-heap-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-heap-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('python37.dll', 'c:\\program files\\python37\\python37.dll', 'BINARY'),
|
||||||
|
('api-ms-win-crt-locale-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-locale-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-math-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-math-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('ucrtbase.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\ucrtbase.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-string-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-string-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-convert-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-convert-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-environment-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-environment-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-process-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-process-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-conio-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-conio-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-time-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-time-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-string-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-string-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-timezone-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-timezone-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-memory-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-memory-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-processthreads-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-processthreads-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-profile-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-profile-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-file-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-file-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-console-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-console-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-file-l2-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-file-l2-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-interlocked-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-interlocked-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-localization-l1-2-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-localization-l1-2-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-processthreads-l1-1-1.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-processthreads-l1-1-1.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-heap-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-heap-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-synch-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-synch-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-datetime-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-datetime-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-synch-l1-2-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-synch-l1-2-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-handle-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-handle-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-file-l1-2-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-file-l1-2-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-util-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-util-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-debug-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-debug-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('_ssl', 'c:\\program files\\python37\\DLLs\\_ssl.pyd', 'EXTENSION'),
|
||||||
|
('unicodedata',
|
||||||
|
'c:\\program files\\python37\\DLLs\\unicodedata.pyd',
|
||||||
|
'EXTENSION'),
|
||||||
|
('pyexpat', 'c:\\program files\\python37\\DLLs\\pyexpat.pyd', 'EXTENSION'),
|
||||||
|
('_hashlib', 'c:\\program files\\python37\\DLLs\\_hashlib.pyd', 'EXTENSION'),
|
||||||
|
('_bz2', 'c:\\program files\\python37\\DLLs\\_bz2.pyd', 'EXTENSION'),
|
||||||
|
('_lzma', 'c:\\program files\\python37\\DLLs\\_lzma.pyd', 'EXTENSION'),
|
||||||
|
('_socket', 'c:\\program files\\python37\\DLLs\\_socket.pyd', 'EXTENSION'),
|
||||||
|
('select', 'c:\\program files\\python37\\DLLs\\select.pyd', 'EXTENSION'),
|
||||||
|
('_ctypes', 'c:\\program files\\python37\\DLLs\\_ctypes.pyd', 'EXTENSION'),
|
||||||
|
('_contextvars',
|
||||||
|
'c:\\program files\\python37\\DLLs\\_contextvars.pyd',
|
||||||
|
'EXTENSION'),
|
||||||
|
('_decimal', 'c:\\program files\\python37\\DLLs\\_decimal.pyd', 'EXTENSION'),
|
||||||
|
('libcrypto-1_1-x64.dll',
|
||||||
|
'c:\\program files\\python37\\DLLs\\libcrypto-1_1-x64.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('libssl-1_1-x64.dll',
|
||||||
|
'c:\\program files\\python37\\DLLs\\libssl-1_1-x64.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-utility-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-utility-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('text_unidecode\\data.bin',
|
||||||
|
'C:\\Users\\Emanuele '
|
||||||
|
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\text_unidecode\\data.bin',
|
||||||
|
'DATA'),
|
||||||
|
('base_library.zip',
|
||||||
|
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\base_library.zip',
|
||||||
|
'DATA'),
|
||||||
|
('bananaSPLIT.exe.manifest',
|
||||||
|
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\bananaSPLIT.exe.exe.manifest',
|
||||||
|
'BINARY'),
|
||||||
|
('pyi-windows-manifest-filename bananaSPLIT.exe.manifest', '', 'OPTION')],
|
||||||
|
[],
|
||||||
|
False,
|
||||||
|
False,
|
||||||
|
1563704332,
|
||||||
|
[('run.exe',
|
||||||
|
'C:\\Users\\Emanuele '
|
||||||
|
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\bootloader\\Windows-64bit\\run.exe',
|
||||||
|
'EXECUTABLE')])
|
||||||
Binary file not shown.
@@ -0,0 +1,202 @@
|
|||||||
|
('D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\PKG-00.pkg',
|
||||||
|
{'BINARY': 1,
|
||||||
|
'DATA': 1,
|
||||||
|
'EXECUTABLE': 1,
|
||||||
|
'EXTENSION': 1,
|
||||||
|
'PYMODULE': 1,
|
||||||
|
'PYSOURCE': 1,
|
||||||
|
'PYZ': 0},
|
||||||
|
[('PYZ-00.pyz',
|
||||||
|
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\PYZ-00.pyz',
|
||||||
|
'PYZ'),
|
||||||
|
('struct',
|
||||||
|
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\localpycos\\struct.pyo',
|
||||||
|
'PYMODULE'),
|
||||||
|
('pyimod01_os_path',
|
||||||
|
'C:\\Users\\Emanuele '
|
||||||
|
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyimod01_os_path.pyc',
|
||||||
|
'PYMODULE'),
|
||||||
|
('pyimod02_archive',
|
||||||
|
'C:\\Users\\Emanuele '
|
||||||
|
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyimod02_archive.pyc',
|
||||||
|
'PYMODULE'),
|
||||||
|
('pyimod03_importers',
|
||||||
|
'C:\\Users\\Emanuele '
|
||||||
|
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyimod03_importers.pyc',
|
||||||
|
'PYMODULE'),
|
||||||
|
('pyiboot01_bootstrap',
|
||||||
|
'C:\\Users\\Emanuele '
|
||||||
|
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py',
|
||||||
|
'PYSOURCE'),
|
||||||
|
('main',
|
||||||
|
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\main.py',
|
||||||
|
'PYSOURCE'),
|
||||||
|
('api-ms-win-crt-stdio-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-stdio-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-runtime-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-runtime-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('VCRUNTIME140.dll',
|
||||||
|
'c:\\program files\\python37\\VCRUNTIME140.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-heap-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-heap-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('python37.dll', 'c:\\program files\\python37\\python37.dll', 'BINARY'),
|
||||||
|
('api-ms-win-crt-locale-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-locale-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-math-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-math-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('ucrtbase.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\ucrtbase.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-string-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-string-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-convert-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-convert-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-environment-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-environment-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-process-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-process-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-conio-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-conio-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-time-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-time-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-namedpipe-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-string-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-string-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-timezone-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-timezone-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-memory-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-memory-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-processthreads-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-processthreads-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-profile-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-profile-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-file-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-file-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-console-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-console-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-file-l2-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-file-l2-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-interlocked-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-interlocked-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-localization-l1-2-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-localization-l1-2-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-processthreads-l1-1-1.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-processthreads-l1-1-1.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-heap-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-heap-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-synch-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-synch-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-datetime-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-datetime-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-synch-l1-2-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-synch-l1-2-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-handle-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-handle-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-file-l1-2-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-file-l1-2-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-util-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-util-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-debug-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-core-debug-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||||
|
'C:/Program '
|
||||||
|
'Files/Java/jre1.8.0_211/bin\\api-ms-win-core-processenvironment-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('_ssl', 'c:\\program files\\python37\\DLLs\\_ssl.pyd', 'EXTENSION'),
|
||||||
|
('unicodedata',
|
||||||
|
'c:\\program files\\python37\\DLLs\\unicodedata.pyd',
|
||||||
|
'EXTENSION'),
|
||||||
|
('pyexpat', 'c:\\program files\\python37\\DLLs\\pyexpat.pyd', 'EXTENSION'),
|
||||||
|
('_hashlib', 'c:\\program files\\python37\\DLLs\\_hashlib.pyd', 'EXTENSION'),
|
||||||
|
('_bz2', 'c:\\program files\\python37\\DLLs\\_bz2.pyd', 'EXTENSION'),
|
||||||
|
('_lzma', 'c:\\program files\\python37\\DLLs\\_lzma.pyd', 'EXTENSION'),
|
||||||
|
('_socket', 'c:\\program files\\python37\\DLLs\\_socket.pyd', 'EXTENSION'),
|
||||||
|
('select', 'c:\\program files\\python37\\DLLs\\select.pyd', 'EXTENSION'),
|
||||||
|
('_ctypes', 'c:\\program files\\python37\\DLLs\\_ctypes.pyd', 'EXTENSION'),
|
||||||
|
('_contextvars',
|
||||||
|
'c:\\program files\\python37\\DLLs\\_contextvars.pyd',
|
||||||
|
'EXTENSION'),
|
||||||
|
('_decimal', 'c:\\program files\\python37\\DLLs\\_decimal.pyd', 'EXTENSION'),
|
||||||
|
('libcrypto-1_1-x64.dll',
|
||||||
|
'c:\\program files\\python37\\DLLs\\libcrypto-1_1-x64.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('libssl-1_1-x64.dll',
|
||||||
|
'c:\\program files\\python37\\DLLs\\libssl-1_1-x64.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('api-ms-win-crt-utility-l1-1-0.dll',
|
||||||
|
'C:/Program Files/Java/jre1.8.0_211/bin\\api-ms-win-crt-utility-l1-1-0.dll',
|
||||||
|
'BINARY'),
|
||||||
|
('text_unidecode\\data.bin',
|
||||||
|
'C:\\Users\\Emanuele '
|
||||||
|
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\text_unidecode\\data.bin',
|
||||||
|
'DATA'),
|
||||||
|
('base_library.zip',
|
||||||
|
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\base_library.zip',
|
||||||
|
'DATA'),
|
||||||
|
('bananaSPLIT.exe.manifest',
|
||||||
|
'D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT\\build\\bananaSPLIT.exe\\bananaSPLIT.exe.exe.manifest',
|
||||||
|
'BINARY'),
|
||||||
|
('pyi-windows-manifest-filename bananaSPLIT.exe.manifest', '', 'OPTION')],
|
||||||
|
False,
|
||||||
|
False,
|
||||||
|
False)
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<assemblyIdentity name="bananaSPLIT.exe" processorArchitecture="amd64" type="win32" version="1.0.0.0"/>
|
||||||
|
<dependency>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity language="*" name="Microsoft.Windows.Common-Controls" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" type="win32" version="6.0.0.0"/>
|
||||||
|
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"/>
|
||||||
|
</dependentAssembly>
|
||||||
|
</dependency>
|
||||||
|
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||||
|
<application>
|
||||||
|
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
|
||||||
|
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
|
||||||
|
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
|
||||||
|
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
|
||||||
|
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
||||||
|
</application>
|
||||||
|
</compatibility>
|
||||||
|
</assembly>
|
||||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,33 @@
|
|||||||
|
|
||||||
|
This file lists modules PyInstaller was not able to find. This does not
|
||||||
|
necessarily mean this module is required for running you program. Python and
|
||||||
|
Python 3rd-party packages include a lot of conditional or optional module. For
|
||||||
|
example the module 'ntpath' only exists on Windows, whereas the module
|
||||||
|
'posixpath' only exists on Posix systems.
|
||||||
|
|
||||||
|
Types if import:
|
||||||
|
* top-level: imported at the top-level - look at these first
|
||||||
|
* conditional: imported within an if-statement
|
||||||
|
* delayed: imported from within a function
|
||||||
|
* optional: imported within a try-except-statement
|
||||||
|
|
||||||
|
IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for
|
||||||
|
yourself tracking down the missing module. Thanks!
|
||||||
|
|
||||||
|
missing module named resource - imported by posix (top-level), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
|
||||||
|
missing module named posix - imported by os (conditional, optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
|
||||||
|
missing module named _posixsubprocess - imported by subprocess (conditional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
|
||||||
|
missing module named org - imported by pickle (optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
|
||||||
|
missing module named readline - imported by cmd (delayed, conditional, optional), code (delayed, conditional, optional), pdb (delayed, optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
|
||||||
|
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
|
||||||
|
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
|
||||||
|
missing module named _winreg - imported by platform (delayed, optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
|
||||||
|
missing module named _scproxy - imported by urllib.request (conditional)
|
||||||
|
missing module named java - imported by platform (delayed), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
|
||||||
|
missing module named 'java.lang' - imported by platform (delayed, optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level), xml.sax._exceptions (conditional)
|
||||||
|
missing module named vms_lib - imported by platform (delayed, conditional, optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
|
||||||
|
missing module named termios - imported by tty (top-level), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level), getpass (optional)
|
||||||
|
missing module named grp - imported by shutil (optional), tarfile (optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level)
|
||||||
|
missing module named pwd - imported by posixpath (delayed, conditional), shutil (optional), tarfile (optional), http.server (delayed, optional), webbrowser (delayed), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level), netrc (delayed, conditional), getpass (delayed)
|
||||||
|
missing module named 'org.python' - imported by copy (optional), D:\Emanuele\Documenti\workspace\bananaSPLIT\bananaSPLIT\main.py (top-level), xml.sax (delayed, conditional)
|
||||||
|
missing module named htmlentitydefs - imported by slugify.slugify (optional)
|
||||||
File diff suppressed because it is too large
Load Diff
Vendored
BIN
Binary file not shown.
Vendored
+64
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"INworkPath": "D:\\Test\\",
|
||||||
|
"OUTworkPath": "D:\\Test\\Separati\\",
|
||||||
|
"OUTnameFormat":"BLOG_{docnum}_{year:04d}{month:02d}{day:02d}_{title}.txt",
|
||||||
|
"docStruct": {
|
||||||
|
"docSep": "\\s*Copyright [(0-9)]+",
|
||||||
|
"dateFormat":"{month} {day:d}, {year:d}{}",
|
||||||
|
"dateWords": [
|
||||||
|
"January",
|
||||||
|
"February",
|
||||||
|
"March",
|
||||||
|
"April",
|
||||||
|
"May",
|
||||||
|
"June",
|
||||||
|
"July",
|
||||||
|
"August",
|
||||||
|
"September",
|
||||||
|
"October",
|
||||||
|
"November",
|
||||||
|
"December"
|
||||||
|
],
|
||||||
|
"headWords": [
|
||||||
|
"BYLINE:",
|
||||||
|
"SECTION:",
|
||||||
|
"LENGTH:",
|
||||||
|
"DATELINE:",
|
||||||
|
"HIGHLIGHT:",
|
||||||
|
"Email:"
|
||||||
|
],
|
||||||
|
"tailWords": [
|
||||||
|
"Newstex ID" ,
|
||||||
|
"NOTES",
|
||||||
|
"LANGUAGE:",
|
||||||
|
"GRAPHIC:",
|
||||||
|
"TYPE:",
|
||||||
|
"URL:",
|
||||||
|
"LOAD-DATE:",
|
||||||
|
"PUBLICATION-TYPE:",
|
||||||
|
"DOCUMENT-TYPE:",
|
||||||
|
"CHARTS:",
|
||||||
|
"JOURNAL-CODE:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"encoding": "utf-8",
|
||||||
|
"monthPosition": 0,
|
||||||
|
"getNewsPaperName": true,
|
||||||
|
"nameNotFoundStr" : "--ND--",
|
||||||
|
"includeTitle" : true,
|
||||||
|
"removeDuplicates": true,
|
||||||
|
"showSkipped": false,
|
||||||
|
"showRemovedDuplicates": true,
|
||||||
|
"maxTitleLen": 32,
|
||||||
|
"loadTXT": true,
|
||||||
|
"loadDOCX": false,
|
||||||
|
"removeOldFiles":true,
|
||||||
|
"saveSeparateFiles": true,
|
||||||
|
"saveBodyFile": true,
|
||||||
|
"saveBodyNumber":true,
|
||||||
|
"delLF": false,
|
||||||
|
"delWordBreak": true,
|
||||||
|
"delChars": "'|@|#"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1 @@
|
|||||||
/@Archivio/
|
|
||||||
/build/
|
|
||||||
/dist/
|
|
||||||
/bananaSPLIT.exe.spec\
|
|
||||||
*.py[ocd]
|
*.py[ocd]
|
||||||
/.DS_Store
|
|
||||||
|
|||||||
BIN
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 79 KiB |
@@ -0,0 +1,121 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>Dialog</class>
|
||||||
|
<widget class="QDialog" name="Dialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>509</width>
|
||||||
|
<height>303</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>509</width>
|
||||||
|
<height>303</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Dialog</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="verticalLayoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>20</x>
|
||||||
|
<y>80</y>
|
||||||
|
<width>251</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="rad_MainbodyEFile">
|
||||||
|
<property name="text">
|
||||||
|
<string>Main body + File singoli</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="rad_File">
|
||||||
|
<property name="text">
|
||||||
|
<string>File singoli</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="rad_Mainbody">
|
||||||
|
<property name="text">
|
||||||
|
<string>Main body</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="lbl_indicazioni">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>30</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>401</width>
|
||||||
|
<height>41</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Seleziona i file che il programma ti deve fare*chiaramente da cambiare le parole</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="horizontalLayoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>330</x>
|
||||||
|
<y>230</y>
|
||||||
|
<width>160</width>
|
||||||
|
<height>51</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="btn_Indietro">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>75</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>75</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Indietro</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="btn_Avanti">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>75</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>75</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Avanti</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
||||||
@@ -0,0 +1,164 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>win_main</class>
|
||||||
|
<widget class="QMainWindow" name="win_main">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>519</width>
|
||||||
|
<height>391</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>MainWindow</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="centralwidget">
|
||||||
|
<widget class="QWidget" name="verticalLayoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>20</x>
|
||||||
|
<y>110</y>
|
||||||
|
<width>131</width>
|
||||||
|
<height>71</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="lbl_cartellasorg">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Cartella sorgente</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="lbl_cartelladest">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Cartella destinazione</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="verticalLayoutWidget_2">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>150</x>
|
||||||
|
<y>110</y>
|
||||||
|
<width>34</width>
|
||||||
|
<height>71</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="btn_cartellasorg">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="btn_cartelladest">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="Line" name="line">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>80</y>
|
||||||
|
<width>491</width>
|
||||||
|
<height>16</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="horizontalLayoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>20</x>
|
||||||
|
<y>180</y>
|
||||||
|
<width>421</width>
|
||||||
|
<height>80</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="chk_predefinita">
|
||||||
|
<property name="text">
|
||||||
|
<string>Rendi predefinite le cartelle</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="btn_avanti">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>79</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>79</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Avanti</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="btn_opzioni">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>420</x>
|
||||||
|
<y>300</y>
|
||||||
|
<width>75</width>
|
||||||
|
<height>23</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Opzioni</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<widget class="QMenuBar" name="menubar">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>519</width>
|
||||||
|
<height>21</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<widget class="QMenu" name="menuBananaSplit">
|
||||||
|
<property name="title">
|
||||||
|
<string>BananaSplit</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<addaction name="menuBananaSplit"/>
|
||||||
|
</widget>
|
||||||
|
<widget class="QStatusBar" name="statusbar"/>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# -*- mode: python -*-
|
||||||
|
|
||||||
|
block_cipher = None
|
||||||
|
|
||||||
|
|
||||||
|
a = Analysis(['main.py'],
|
||||||
|
pathex=['D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\bananaSPLIT'],
|
||||||
|
binaries=[],
|
||||||
|
datas=[('C:\\Users\\Emanuele Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\text_unidecode\\data.bin', '.\\text_unidecode')],
|
||||||
|
hiddenimports=[],
|
||||||
|
hookspath=[],
|
||||||
|
runtime_hooks=[],
|
||||||
|
excludes=[],
|
||||||
|
win_no_prefer_redirects=False,
|
||||||
|
win_private_assemblies=False,
|
||||||
|
cipher=block_cipher,
|
||||||
|
noarchive=False)
|
||||||
|
pyz = PYZ(a.pure, a.zipped_data,
|
||||||
|
cipher=block_cipher)
|
||||||
|
exe = EXE(pyz,
|
||||||
|
a.scripts,
|
||||||
|
a.binaries,
|
||||||
|
a.zipfiles,
|
||||||
|
a.datas,
|
||||||
|
[],
|
||||||
|
name='bananaSPLIT.exe',
|
||||||
|
debug=False,
|
||||||
|
bootloader_ignore_signals=False,
|
||||||
|
strip=False,
|
||||||
|
upx=True,
|
||||||
|
runtime_tmpdir=None,
|
||||||
|
console=True , icon='banana.ico')
|
||||||
Vendored
BIN
Binary file not shown.
Vendored
+61
@@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
"INworkPath": "C:\\Test\\",
|
||||||
|
"OUTworkPath": "C:\\Test\\Separati\\",
|
||||||
|
"OUTnameFormat":"TEST_{docnum}_{year:04d}{month:02d}{day:02d}_{papername}_{title}.txt",
|
||||||
|
"docStruct": {
|
||||||
|
"docSep": "Copyright [(0-9)]+",
|
||||||
|
"dateFormat":"{day:d} {month} {year:d} {}",
|
||||||
|
"dateWords": [
|
||||||
|
"Gennaio",
|
||||||
|
"Febbraio",
|
||||||
|
"Marzo",
|
||||||
|
"Aprile",
|
||||||
|
"Maggio",
|
||||||
|
"Giugno",
|
||||||
|
"Luglio",
|
||||||
|
"Agosto",
|
||||||
|
"Settembre",
|
||||||
|
"Ottobre",
|
||||||
|
"Novembre",
|
||||||
|
"Dicembre"
|
||||||
|
],
|
||||||
|
"headWords": [
|
||||||
|
"BYLINE:",
|
||||||
|
"SECTION:",
|
||||||
|
"LENGTH:",
|
||||||
|
"DATELINE:",
|
||||||
|
"HIGHLIGHT:",
|
||||||
|
"Email:"
|
||||||
|
],
|
||||||
|
"tailWords": [
|
||||||
|
"LANGUAGE:",
|
||||||
|
"GRAPHIC:",
|
||||||
|
"TYPE:",
|
||||||
|
"URL:",
|
||||||
|
"LOAD-DATE:",
|
||||||
|
"PUBLICATION-TYPE:",
|
||||||
|
"DOCUMENT-TYPE:",
|
||||||
|
"CHARTS:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"encoding": "utf-8",
|
||||||
|
"monthPosition": 0,
|
||||||
|
"getNewsPaperName": true,
|
||||||
|
"nameNotFoundStr" : "--ND--",
|
||||||
|
"includeTitle" : true,
|
||||||
|
"removeDuplicates": true,
|
||||||
|
"showSkipped": false,
|
||||||
|
"showRemovedDuplicates": true,
|
||||||
|
"maxTitleLen": 32,
|
||||||
|
"loadTXT": true,
|
||||||
|
"loadDOCX": false,
|
||||||
|
"removeOldFiles":true,
|
||||||
|
"saveSeparateFiles": true,
|
||||||
|
"saveBodyFile": true,
|
||||||
|
"saveBodyNumber":true,
|
||||||
|
"delLF": false,
|
||||||
|
"delWordBreak": true,
|
||||||
|
"delChars": "'|@|#"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
'''
|
||||||
|
Created on 2 nov 2019
|
||||||
|
|
||||||
|
@author: Emanuele Trabattoni
|
||||||
|
'''
|
||||||
|
import json,os,glob,copy
|
||||||
|
|
||||||
|
class bananaCONF(object):
|
||||||
|
'''
|
||||||
|
Carica e Salva file di configurazione per bananaSPLITTER
|
||||||
|
'''
|
||||||
|
def __init__(self, workdir=None, logger=None):
|
||||||
|
self.log = logger
|
||||||
|
self.fileList = None
|
||||||
|
self.workdir = None
|
||||||
|
self.inUse = None
|
||||||
|
self.settingsList = dict()
|
||||||
|
if workdir is not None:
|
||||||
|
self.workdir = workdir
|
||||||
|
os.chdir(workdir)
|
||||||
|
self.log.debug("Cerco le configurazioni in: [{}]".format(os.getcwd()))
|
||||||
|
else:
|
||||||
|
self.log.error("Non mi e' stata fornita una directory per i file di configurazione")
|
||||||
|
pass
|
||||||
|
|
||||||
|
def open(self):
|
||||||
|
self.log.info("Carico i file di configurazione")
|
||||||
|
self.fileList = glob.glob(r"*.json")
|
||||||
|
if len(self.fileList) > 0:
|
||||||
|
for f in self.fileList:
|
||||||
|
try:
|
||||||
|
fp = open(f)
|
||||||
|
tf = json.load(fp)
|
||||||
|
fName = f.split("\\")[-1]
|
||||||
|
self.settingsList[fName] = copy.deepcopy(tf)
|
||||||
|
self.log.info("Caricato correttamente: {}".format(fName))
|
||||||
|
fp.close()
|
||||||
|
except json.JSONDecodeError as e:
|
||||||
|
self.log.error("Impossibile leggere la configurazione:{}\n \
|
||||||
|
Controlla il file a riga: {} e colonna:{}" .format(e.doc, e.lineno, e.colno))
|
||||||
|
except IOError as ee:
|
||||||
|
self.log.error("Impossibile aprire il file: {}".format(ee))
|
||||||
|
except Exception as eee:
|
||||||
|
self.log.critical("Eccezione inaspettata: {}".format(eee))
|
||||||
|
else:
|
||||||
|
self.log.error("Non ho trovato alcun file di configurazione!")
|
||||||
|
pass
|
||||||
|
|
||||||
|
def reload(self):
|
||||||
|
self.settingsList = None
|
||||||
|
self.fileList = None
|
||||||
|
self.inUse = None
|
||||||
|
self.open()
|
||||||
|
pass
|
||||||
|
|
||||||
|
def use(self, toUse):
|
||||||
|
self.inUse = toUse
|
||||||
|
pass
|
||||||
|
|
||||||
|
def save(self):
|
||||||
|
self.log.info("Salvo la configurazione: {}".format(self.inUse))
|
||||||
|
try:
|
||||||
|
os.chdir(self.workdir)
|
||||||
|
f=open(self.inUse)
|
||||||
|
json.dump(self.settingsList[self.inUse], f)
|
||||||
|
f.close()
|
||||||
|
except IOError as e:
|
||||||
|
self.log.error("Impossibile salvare il file: {} - [{}]".format(self.inUse,e))
|
||||||
|
pass
|
||||||
|
|
||||||
|
def getFiles(self):
|
||||||
|
return self.fileList
|
||||||
|
|
||||||
|
def getParams(self, k):
|
||||||
|
return self.settingsList[self.inUse][k]
|
||||||
|
pass
|
||||||
|
|
||||||
|
def setParams(self, k, v):
|
||||||
|
self.settingsList[self.inUse][k]=dict(v)
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
'''
|
||||||
|
Created on 2 nov 2019
|
||||||
|
|
||||||
|
@author: Emanuele Trabattoni
|
||||||
|
'''
|
||||||
|
import sys, os
|
||||||
|
import json
|
||||||
|
import logging
|
||||||
|
import colorama
|
||||||
|
|
||||||
|
class fancyLogger(object):
|
||||||
|
'''
|
||||||
|
Colorizza il logger di python, per un' esperienza stile willy wonka
|
||||||
|
'''
|
||||||
|
def __init__(self, name="Logger", consoleLog=True, fileLog=True):
|
||||||
|
settings = json.load(open(os.getcwd()+r"\libbananasplit\testEN.json"))["logger"]
|
||||||
|
colorama.init(convert=True)
|
||||||
|
self.LRED = colorama.Fore.LIGHTRED_EX
|
||||||
|
self.RED = colorama.Fore.RED
|
||||||
|
self.LYELLOW = colorama.Fore.LIGHTYELLOW_EX
|
||||||
|
self.YELLOW = colorama.Fore.YELLOW
|
||||||
|
self.LBLUE = colorama.Fore.LIGHTBLUE_EX
|
||||||
|
self.BLUE = colorama.Fore.BLUE
|
||||||
|
self.LGREEN = colorama.Fore.LIGHTGREEN_EX
|
||||||
|
self.LGREEN = colorama.Fore.GREEN
|
||||||
|
self.WHITE = colorama.Fore.LIGHTWHITE_EX
|
||||||
|
self.RST = colorama.Style.RESET_ALL
|
||||||
|
|
||||||
|
# Setup Logger
|
||||||
|
self.LOGGER = logging.getLogger(name)
|
||||||
|
self.LOGGER.setLevel(logging.DEBUG)
|
||||||
|
self.LOGGER.propagate = False
|
||||||
|
FORMATTER = logging.Formatter((settings["logFormat"]), (settings["logTimeFormat"]))
|
||||||
|
if fileLog:
|
||||||
|
# File Logging
|
||||||
|
fh = logging.FileHandler((settings["logFile"]))
|
||||||
|
fh.setLevel(logging.DEBUG)
|
||||||
|
fh.setFormatter(FORMATTER)
|
||||||
|
self.LOGGER.addHandler(fh)
|
||||||
|
if consoleLog:
|
||||||
|
# Console Logging
|
||||||
|
cl= logging.StreamHandler(sys.stdout)
|
||||||
|
cl.setLevel(logging.DEBUG)
|
||||||
|
cl.setFormatter(FORMATTER)
|
||||||
|
self.LOGGER.addHandler(cl)
|
||||||
|
pass
|
||||||
|
|
||||||
|
def debug(self, msg="Undefined Debug"):
|
||||||
|
print(self.LBLUE, end='')
|
||||||
|
self.LOGGER.debug(msg)
|
||||||
|
print(self.RST, end='')
|
||||||
|
pass
|
||||||
|
|
||||||
|
def info(self, msg="Undefined Info"):
|
||||||
|
print(self.LGREEN, end='')
|
||||||
|
self.LOGGER.info(msg)
|
||||||
|
print(self.RST, end='')
|
||||||
|
pass
|
||||||
|
|
||||||
|
def warn(self, msg="Undefined Warning"):
|
||||||
|
print(self.LYELLOW, end='')
|
||||||
|
self.LOGGER.warning(msg)
|
||||||
|
print(self.RST, end='')
|
||||||
|
pass
|
||||||
|
|
||||||
|
def error(self, msg="Undefined Error"):
|
||||||
|
print(self.LRED, end='')
|
||||||
|
self.LOGGER.error(msg)
|
||||||
|
print(self.RST, end='')
|
||||||
|
pass
|
||||||
|
|
||||||
|
def critical(self, msg="Undefined Critical"):
|
||||||
|
print(self.RED, end='')
|
||||||
|
self.LOGGER.critical(msg)
|
||||||
|
print(self.RST, end='')
|
||||||
|
pass
|
||||||
|
|
||||||
|
def testColors(self):
|
||||||
|
self.debug("Test Debug")
|
||||||
|
self.info("Test Info")
|
||||||
|
self.warn("Test Warning")
|
||||||
|
self.error("Test Error")
|
||||||
|
self.critical("Test Critical")
|
||||||
|
pass
|
||||||
|
|
||||||
@@ -0,0 +1,247 @@
|
|||||||
|
'''
|
||||||
|
Created on 2 nov 2019
|
||||||
|
|
||||||
|
@author: Emanuele Trabattoni
|
||||||
|
'''
|
||||||
|
from libfancylogger import fancyLogger
|
||||||
|
from slugify.slugify import slugify
|
||||||
|
import threading, time, parse, re, copy, os
|
||||||
|
|
||||||
|
class bananaSPLITTER(threading.Thread):
|
||||||
|
def __init__(self, fileParams=None, logger=None):
|
||||||
|
threading.Thread.__init__(self)
|
||||||
|
self.fileParams = fileParams
|
||||||
|
self.log = logger
|
||||||
|
self.rawFile = None
|
||||||
|
self.status = "first"
|
||||||
|
self.fileList = list()
|
||||||
|
self.bodyCounter=0
|
||||||
|
self.duplicateNumber=0
|
||||||
|
if fileParams is not None:
|
||||||
|
self.log.info("Sto operando sul file: {}..".format(self.fileParams['name']))
|
||||||
|
self.paths = self.fileParams['paths']
|
||||||
|
self.docStruct = self.fileParams['docStruct']
|
||||||
|
self.settings = self.fileParams['settings']
|
||||||
|
self.fileName = self.fileParams['name']
|
||||||
|
self.beginTime = time.time()
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
self.log.critical("Non e' stato fornito il nome di alcun file da splittare!")
|
||||||
|
pass
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
self.log.info("Nuovo SPLITTER su file: {}".format(self.fileName))
|
||||||
|
self.openFile()
|
||||||
|
self.remEmptyLines()
|
||||||
|
self.splitFile()
|
||||||
|
if self.settings['removeDuplicates']:
|
||||||
|
self.log.info("Controllo se ci sono dei duplicati..")
|
||||||
|
self.removeDuplicates()
|
||||||
|
else:
|
||||||
|
for idx, ff in enumerate(self.fileList):
|
||||||
|
ff['duplicate']=False
|
||||||
|
self.fileList[idx]=ff
|
||||||
|
print('Salto il controllo dei duplicati..')
|
||||||
|
if self.settings['saveSeparateFiles']:
|
||||||
|
self.saveSeparate()
|
||||||
|
if self.settings['saveBodyFile']:
|
||||||
|
self.saveBody()
|
||||||
|
pass
|
||||||
|
|
||||||
|
def openFile(self):
|
||||||
|
try:
|
||||||
|
self.log.info("Carico il contenuto..")
|
||||||
|
fp = open(self.fileParams['name'], mode='r', encoding=self.settings['encoding'])
|
||||||
|
self.rawFile = fp.readlines()
|
||||||
|
fp.close()
|
||||||
|
except IOError as e:
|
||||||
|
self.log.critical("Impossibile aprire il file: {}! [{}]".format(self.fileName,e))
|
||||||
|
raise BaseException("OpenFile")
|
||||||
|
pass
|
||||||
|
|
||||||
|
def remEmptyLines(self):
|
||||||
|
self.log.info("Elimino righe vuote e caratteri inutili..")
|
||||||
|
tempContent = []
|
||||||
|
try:
|
||||||
|
for ll in self.rawFile:
|
||||||
|
for c in self.settings['delChars']:
|
||||||
|
ll = ll.replace(c,'')
|
||||||
|
if ll not in ['\n', '\r']:
|
||||||
|
tempContent.append(ll)
|
||||||
|
self.rawFile = copy.deepcopy(tempContent)
|
||||||
|
return True
|
||||||
|
except:
|
||||||
|
self.log.error("Errore inaspettato durante l'eliminazione delle righe vuote!")
|
||||||
|
raise BaseException("DelLines")
|
||||||
|
del tempContent
|
||||||
|
|
||||||
|
def splitFile(self): #porting del codice dal programma originale
|
||||||
|
self.log.info("Individuo il contenuto..")
|
||||||
|
docNumber = 0
|
||||||
|
docSkipped = 0
|
||||||
|
docDate = {}
|
||||||
|
title = ''
|
||||||
|
prevLine = ''
|
||||||
|
newsPaperName = ''
|
||||||
|
titleBegin = False
|
||||||
|
tempBody = list()
|
||||||
|
docSep=re.compile(self.docStruct['docSep'])
|
||||||
|
|
||||||
|
for l in self.rawFile: #per ogni linea del file
|
||||||
|
lineWords = l.lstrip().split(' ') #dividi la riga in parole
|
||||||
|
if self.status == 'first':
|
||||||
|
#prendo il numero di documento per vedere se ci sono buchi
|
||||||
|
try:
|
||||||
|
try:
|
||||||
|
nn = parse.parse("{current:d} Of {total} Documents",l.strip().capitalize()).named
|
||||||
|
if nn["current"]-docNumber==1:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
if self.settings["showSkipped"]:
|
||||||
|
self.log.warn("Il conto dei documenti non torna! LexisNexis \
|
||||||
|
ne ha saltato qualcuno!\nPrecedente:{0}-Attuale:{1}".format(docNumber,nn["current"]))
|
||||||
|
docSkipped+=1
|
||||||
|
docNumber = nn["current"]
|
||||||
|
except:
|
||||||
|
pass #non segnalare eccezione se il parse fallisce
|
||||||
|
# ricerco la data
|
||||||
|
if (lineWords[self.settings['monthPosition']]).capitalize() in self.docStruct['dateWords']:
|
||||||
|
try:
|
||||||
|
docDate=parse.parse(self.docParams['dateFormat'],l).named
|
||||||
|
docDate['month']=docDate['month'].lstrip().rstrip().capitalize()
|
||||||
|
docDate['month']=self.docStruct['dateWords'].index(docDate['month'])+1
|
||||||
|
title = ''
|
||||||
|
titleBegin=True
|
||||||
|
# dopo la data inizia il titolo, ma prima si cerca il nome del giornale
|
||||||
|
if self.settings['getNewsPaperName']:
|
||||||
|
try:
|
||||||
|
if prevLine.split(' ')[0].strip().isalpha():
|
||||||
|
newsPaperName = prevLine.strip()
|
||||||
|
else:
|
||||||
|
newsPaperName = self.settings['nameNotFoundStr']
|
||||||
|
except:
|
||||||
|
self.log.warn("E' successo qualcosa mentre stavo cercando il nome della pubblicazione,\
|
||||||
|
controlla i file di uscita! \n\t[{}]".format(prevLine.strip()))
|
||||||
|
else:
|
||||||
|
newsPaperName = self.settings['nameNotFoundStr']
|
||||||
|
except:
|
||||||
|
self.log.warn("Ho trovato una riga ambigua.. potrebbe essere una data ma non so: \n\t[{}]". format(l.strip('\r\n')))
|
||||||
|
pass
|
||||||
|
elif lineWords[0] in self.docStruct['headWords']:
|
||||||
|
#cambio stato e inizializzo un nuovo documento da riempire
|
||||||
|
self.status = 'head'
|
||||||
|
newDoc=dict()
|
||||||
|
newDoc['title']=title
|
||||||
|
newDoc['date']=docDate
|
||||||
|
newDoc['newsPaperName'] = newsPaperName
|
||||||
|
titleBegin=False
|
||||||
|
else:
|
||||||
|
if titleBegin:
|
||||||
|
title += l.strip().capitalize()
|
||||||
|
except IndexError:
|
||||||
|
self.log.error("Errore inaspettato, contatta il tuo sviluppatore di fiducia!")
|
||||||
|
pass
|
||||||
|
elif self.status == 'head':
|
||||||
|
tempContent = list()
|
||||||
|
if lineWords[0] not in self.docStruct['headWords']: #se la prima parola non e' tra quelle di inizio
|
||||||
|
tempBody.append(l) # vuol dire che ho trovato l'articolo e aggiungo la prima riga al contenuto del documento
|
||||||
|
self.status = 'body'
|
||||||
|
pass
|
||||||
|
elif self.status == 'body':
|
||||||
|
if not lineWords[0] in self.docStruct['tailWords']: #se la prima parola non e' tra quelle di fine
|
||||||
|
if self.settings['delLF']:
|
||||||
|
tempBody.append(l.strip('\n')) #allora sto leggendo l'articolo
|
||||||
|
else:
|
||||||
|
tempBody.append(l)
|
||||||
|
else:
|
||||||
|
self.status = 'tail'
|
||||||
|
anomaly = False
|
||||||
|
if docSep.match(l) is not None: #controlla se ci sono articoli che non hanno le parole chiave finali
|
||||||
|
self.log.warn("Ho individuato una separatore valido prima che si chiusesse l'articolo precedente, controlla i tuoi file in uscita!\n\
|
||||||
|
L'errore dovrebbe essere intorno all'articolo {} ma non sono sicuro! \n\t\t[{}]".format(docNumber, l.strip()))
|
||||||
|
self.status = 'tail'
|
||||||
|
anomaly = True
|
||||||
|
pass
|
||||||
|
elif self.status == 'tail':
|
||||||
|
if docSep.match(l) is not None or anomaly:
|
||||||
|
self.status = 'first'
|
||||||
|
anomaly = False
|
||||||
|
if self.settings['delWordBreak']:
|
||||||
|
tempContent=[ll.replace('-\n', '') for ll in tempContent]
|
||||||
|
newDoc['content']=copy.deepcopy(''.join(tempBody))
|
||||||
|
self.fileList.append(copy.deepcopy(newDoc))
|
||||||
|
tempBody=list()
|
||||||
|
self.bodyCounter +=1
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
self.log.critical("Stato Interno Sconosciuto")
|
||||||
|
prevLine=l #salva sempre e comunque il contenuto della linea precedente
|
||||||
|
pass
|
||||||
|
#ricerca terminata, espongo i risultati
|
||||||
|
self.log.info("Nel file ho trovato {0} articoli..".format(self.bodyCounter))
|
||||||
|
if docSkipped > 0:
|
||||||
|
self.log.warn("Attentione, LexisNexis ne ha saltati {} !!!".format(docSkipped))
|
||||||
|
pass
|
||||||
|
pass
|
||||||
|
|
||||||
|
def removeDuplicates(self):
|
||||||
|
titleList=[]
|
||||||
|
duplicateList=[]
|
||||||
|
for idx, ff in enumerate(self.fileList):
|
||||||
|
if ff['title'] not in titleList:
|
||||||
|
titleList.append(ff['title'])
|
||||||
|
ff['duplicate']=False
|
||||||
|
self.fileList[idx]=ff
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
if ff['title'] not in duplicateList:
|
||||||
|
duplicateList.append(ff['title'])
|
||||||
|
if self.settings['showRemovedDuplicates']:
|
||||||
|
self.log.info("Duplicato: {}".format(ff['title'].strip()))
|
||||||
|
ff['duplicate'] = True
|
||||||
|
self.fileList[idx]=ff
|
||||||
|
self.duplicateNumber+=1
|
||||||
|
self.log.info("Ho rimosso {} duplicati di {} articoli..\n". format(self.duplicateNumber, len(duplicateList)))
|
||||||
|
pass
|
||||||
|
|
||||||
|
def saveSeparate(self):
|
||||||
|
self.log.info("Salvo gli articoli in file separati...")
|
||||||
|
self.log.debug("Persorso: {0}".format(self.paths['OUTworkPath'].format('nomeFile')))
|
||||||
|
for ff in self.fileList:
|
||||||
|
try:
|
||||||
|
if ff['duplicate'] == False:
|
||||||
|
fName=self.paths['OUTnameFormat'].format(title=slugify(ff['title'][:self.settings['maxTitleLen']]),\
|
||||||
|
filename=slugify(self.fileName),\
|
||||||
|
docnum=self.bodyCounter,\
|
||||||
|
papername=ff['newsPaperName'].strip(),\
|
||||||
|
**ff['date'])
|
||||||
|
out=open(self.paths['OUTworkPath']+'{0}'.format(fName),'wb')
|
||||||
|
if self.settings['includeTitle']:
|
||||||
|
ff['content'] = ff['title']+os.linesep+ff['content']
|
||||||
|
out.write(ff['content'].encode(self.settings['encoding']))
|
||||||
|
out.close()
|
||||||
|
self.bodyCounter+=1
|
||||||
|
except IOError as e:
|
||||||
|
self.log.error("Qualcosa e\' andato storto, non riesco a scrivere il file: {}".format(e))
|
||||||
|
continue
|
||||||
|
pass
|
||||||
|
|
||||||
|
def saveBody(self):
|
||||||
|
print('Salvo gli articoli in un singolo file vicino agli originali...')
|
||||||
|
print ('Persorso: {0}'.format(self.paths['OUTworkPath'].format('nomeFile')))
|
||||||
|
try:
|
||||||
|
fName=slugify(self.fileName)
|
||||||
|
fName='BODYFILE_{0}_{1}.txt'.format(self.fileCounter,fName[:self.settings['maxTitleLen']])
|
||||||
|
fileContent = os.linesep.join([cc['content'] for cc in self.fileList])
|
||||||
|
out=open(self.paths['OUTworkPath']+'{0}'.format(fName),'wb')
|
||||||
|
out.write(fileContent.encode(self.settings['encoding']))
|
||||||
|
out.close()
|
||||||
|
except IOError as e:
|
||||||
|
print("OOPS! Qualcosa e\' andato storto, non riesco a scrivere il file: {}".format(e))
|
||||||
|
pass
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
logg = fancyLogger(name="LibSplit")
|
||||||
|
spp = bananaSPLITTER(fileParams="testfile.txt", logger=logg)
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
{
|
||||||
|
"version": "v1.1a",
|
||||||
|
"logger": {
|
||||||
|
"logFile": "D:\\Test\\bananaSPLIT.log",
|
||||||
|
"logFormat": "%(asctime)s|%(levelname)-8s| %(message)-50s",
|
||||||
|
"logTimeFormat": "%m-%d %H:%M:%S"
|
||||||
|
},
|
||||||
|
"splitter": {
|
||||||
|
"name": "",
|
||||||
|
"paths": {
|
||||||
|
"INworkPath": "D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\TestFiles\\",
|
||||||
|
"OUTworkPath": "D:\\Test\\Separati\\",
|
||||||
|
"OUTnameFormat": "TEST_{docnum}_{year:04d}{month:02d}{day:02d}_{title}.txt"
|
||||||
|
},
|
||||||
|
"docStruct": {
|
||||||
|
"docSep": "\\s*Copyright [(0-9)]+",
|
||||||
|
"dateFormat": "{month} {day:d}, {year:d}{}",
|
||||||
|
"dateWords": [
|
||||||
|
"January",
|
||||||
|
"February",
|
||||||
|
"March",
|
||||||
|
"April",
|
||||||
|
"May",
|
||||||
|
"June",
|
||||||
|
"July",
|
||||||
|
"August",
|
||||||
|
"September",
|
||||||
|
"October",
|
||||||
|
"November",
|
||||||
|
"December"
|
||||||
|
],
|
||||||
|
"headWords": [
|
||||||
|
"BYLINE:",
|
||||||
|
"SECTION:",
|
||||||
|
"LENGTH:",
|
||||||
|
"DATELINE:",
|
||||||
|
"HIGHLIGHT:",
|
||||||
|
"Email:"
|
||||||
|
],
|
||||||
|
"tailWords": [
|
||||||
|
"Newstex ID:",
|
||||||
|
"NOTES:",
|
||||||
|
"LANGUAGE:",
|
||||||
|
"GRAPHIC:",
|
||||||
|
"TYPE:",
|
||||||
|
"URL:",
|
||||||
|
"LOAD-DATE:",
|
||||||
|
"PUBLICATION-TYPE:",
|
||||||
|
"DOCUMENT-TYPE:",
|
||||||
|
"CHARTS:",
|
||||||
|
"JOURNAL-CODE:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"encoding": "utf-8",
|
||||||
|
"monthPosition": 0,
|
||||||
|
"getNewsPaperName": true,
|
||||||
|
"nameNotFoundStr": "ND",
|
||||||
|
"includeTitle": true,
|
||||||
|
"removeDuplicates": true,
|
||||||
|
"showSkipped": false,
|
||||||
|
"showRemovedDuplicates": true,
|
||||||
|
"maxTitleLen": 32,
|
||||||
|
"loadTXT": true,
|
||||||
|
"loadDOCX": false,
|
||||||
|
"removeOldFiles": true,
|
||||||
|
"saveSeparateFiles": true,
|
||||||
|
"saveBodyFile": true,
|
||||||
|
"saveBodyNumber": true,
|
||||||
|
"delLF": false,
|
||||||
|
"delWordBreak": true,
|
||||||
|
"delChars": [
|
||||||
|
"'",
|
||||||
|
"@",
|
||||||
|
"#",
|
||||||
|
"$",
|
||||||
|
"%",
|
||||||
|
"^",
|
||||||
|
"&"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
{
|
||||||
|
"version": "v1.1a",
|
||||||
|
"logger": {
|
||||||
|
"logFile": "D:\\Test\\bananaSPLIT.log",
|
||||||
|
"logFormat": "%(asctime)s|%(levelname)-8s| %(message)-50s",
|
||||||
|
"logTimeFormat": "%m-%d %H:%M:%S"
|
||||||
|
},
|
||||||
|
"splitter": {
|
||||||
|
"name": "",
|
||||||
|
"paths": {
|
||||||
|
"INworkPath": "D:\\Emanuele\\Documenti\\workspace\\bananaSPLIT\\TestFiles\\",
|
||||||
|
"OUTworkPath": "D:\\Test\\Separati\\",
|
||||||
|
"OUTnameFormat": "TEST_{docnum}_{year:04d}{month:02d}{day:02d}_{title}.txt"
|
||||||
|
},
|
||||||
|
"docStruct": {
|
||||||
|
"docSep": "Copyright [(0-9)]+",
|
||||||
|
"dateFormat": "{day:d} {month} {year:d} {}",
|
||||||
|
"dateWords": [
|
||||||
|
"Gennaio",
|
||||||
|
"Febbraio",
|
||||||
|
"Marzo",
|
||||||
|
"Aprile",
|
||||||
|
"Maggio",
|
||||||
|
"Giugno",
|
||||||
|
"Luglio",
|
||||||
|
"Agosto",
|
||||||
|
"Settembre",
|
||||||
|
"Ottobre",
|
||||||
|
"Novembre",
|
||||||
|
"Dicembre"
|
||||||
|
],
|
||||||
|
"headWords": [
|
||||||
|
"BYLINE:",
|
||||||
|
"SECTION:",
|
||||||
|
"LENGTH:",
|
||||||
|
"DATELINE:",
|
||||||
|
"HIGHLIGHT:",
|
||||||
|
"Email:"
|
||||||
|
],
|
||||||
|
"tailWords": [
|
||||||
|
"LANGUAGE:",
|
||||||
|
"GRAPHIC:",
|
||||||
|
"TYPE:",
|
||||||
|
"URL:",
|
||||||
|
"LOAD-DATE:",
|
||||||
|
"PUBLICATION-TYPE:",
|
||||||
|
"DOCUMENT-TYPE:",
|
||||||
|
"CHARTS:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"encoding": "utf-8",
|
||||||
|
"monthPosition": 0,
|
||||||
|
"getNewsPaperName": true,
|
||||||
|
"nameNotFoundStr": "ND",
|
||||||
|
"includeTitle": true,
|
||||||
|
"removeDuplicates": true,
|
||||||
|
"showSkipped": false,
|
||||||
|
"showRemovedDuplicates": true,
|
||||||
|
"maxTitleLen": 32,
|
||||||
|
"loadTXT": true,
|
||||||
|
"loadDOCX": false,
|
||||||
|
"removeOldFiles": true,
|
||||||
|
"saveSeparateFiles": true,
|
||||||
|
"saveBodyFile": true,
|
||||||
|
"saveBodyNumber": true,
|
||||||
|
"delLF": false,
|
||||||
|
"delWordBreak": true,
|
||||||
|
"delChars": [
|
||||||
|
"'",
|
||||||
|
"@",
|
||||||
|
"#",
|
||||||
|
"$",
|
||||||
|
"%",
|
||||||
|
"^",
|
||||||
|
"&"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
'''
|
||||||
|
Created on 1 dic 2019
|
||||||
|
|
||||||
|
@author: Emanuele Trabattoni
|
||||||
|
'''
|
||||||
|
import os
|
||||||
|
from libsplit import bananaSPLITTER
|
||||||
|
from libconfload import bananaCONF
|
||||||
|
from libfancylogger import fancyLogger
|
||||||
|
|
||||||
|
print("CWD-> "+os.getcwd())
|
||||||
|
logger = fancyLogger(fileLog = False)
|
||||||
|
confl = bananaCONF(workdir=r"./libbananasplit", logger=logger)
|
||||||
|
confl.open()
|
||||||
|
|
||||||
|
confl.use("testEN.json")
|
||||||
|
splconf = confl.getParams("splitter")
|
||||||
|
splconf["name"] = splconf["paths"]["INworkPath"]+"GUARDIAN 1989.txt"
|
||||||
|
splitter = bananaSPLITTER(fileParams=splconf, logger=logger)
|
||||||
|
splitter.start()
|
||||||
|
splitter.join()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
+11
-9
@@ -15,26 +15,24 @@ from pprint import pprint
|
|||||||
from glob import glob
|
from glob import glob
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
from slugify import slugify
|
from slugify import slugify
|
||||||
|
|
||||||
|
|
||||||
####### VAR GLOBALI #######
|
####### VAR GLOBALI #######
|
||||||
|
|
||||||
####### FUNZIONI GLOBALI #######
|
####### FUNZIONI GLOBALI #######
|
||||||
def printTitle():
|
def printTitle():
|
||||||
print(". . . , \n| | _ | _. _ ._ _ _ -+- _ * \n|/\|(/,|(_.(_)[ | )(/, | (_) *")
|
print(". . . , \n| | _ | _. _ ._ _ _ -+- _ * \n|/\|(/,|(_.(_)[ | )(/, | (_) *")
|
||||||
|
|
||||||
print(Fore.LIGHTYELLOW_EX,\
|
print(Fore.LIGHTYELLOW_EX,' _ ___________ _ _____ _____ \n\
|
||||||
' _ ___________ _ _____ _____ \n\
|
|
||||||
| | / ___| ___ \ | |_ _|_ _| \n\
|
| | / ___| ___ \ | |_ _|_ _| \n\
|
||||||
| |__ __ _ _ __ __ _ _ __ __ _\ `--.| |_/ / | | | | | \n\
|
| |__ __ _ _ __ __ _ _ __ __ _\ `--.| |_/ / | | | | | \n\
|
||||||
| \'_ \ / _` | \'_ \ / _` | \'_ \ / _` |`--. \ __/| | | | | | \n\
|
| \'_ \ / _` | \'_ \ / _` | \'_ \ / _` |`--. \ __/| | | | | | \n\
|
||||||
| |_) | (_| | | | | (_| | | | | (_| /\__/ / | | |_____| |_ | | \n\
|
| |_) | (_| | | | | (_| | | | | (_| /\__/ / | | |_____| |_ | | \n\
|
||||||
|_.__/ \__,_|_| |_|\__,_|_| |_|\__,_\____/\_| \_____/\___/ \_/')
|
|_.__/ \__,_|_| |_|\__,_|_| |_|\__,_\____/\_| \_____/\___/ \_/')
|
||||||
|
|
||||||
print ('\t\t\t\t\t\t\tVersione 0.4a\n\n', Style.RESET_ALL)
|
print ('\t\t\t\t\t\t\tVersione 0.4b\n\n', Style.RESET_ALL)
|
||||||
print('Iniziamo!!')
|
print('Iniziamo!!')
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
#############################################################
|
#############################################################
|
||||||
####################### MAIN ################################
|
####################### MAIN ################################
|
||||||
#############################################################
|
#############################################################
|
||||||
@@ -111,15 +109,19 @@ try:
|
|||||||
else:
|
else:
|
||||||
print('Non ho capito la risposta, sii un po\' piu\' specifico... [y/n]\n')
|
print('Non ho capito la risposta, sii un po\' piu\' specifico... [y/n]\n')
|
||||||
pass
|
pass
|
||||||
if settings['removeOldFiles']:
|
|
||||||
print("Rimuovo i vecchi file dalla cartella di destinazione..")
|
|
||||||
for x in glob(cfg['OUTworkPath']+'*.txt'):
|
|
||||||
os.remove(x)
|
|
||||||
except:
|
except:
|
||||||
print(Fore.LIGHTRED_EX, 'OOPS! Qualcosa e\' andato storto, non riesco a trovare nessun file da leggere :(', Style.RESET_ALL)
|
print(Fore.LIGHTRED_EX, 'OOPS! Qualcosa e\' andato storto, non riesco a trovare nessun file da leggere :(', Style.RESET_ALL)
|
||||||
input()
|
input()
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
|
try:
|
||||||
|
if settings['removeOldFiles']:
|
||||||
|
print("Rimuovo i vecchi file dalla cartella di destinazione..")
|
||||||
|
for x in glob(cfg['OUTworkPath']+'*.txt'):
|
||||||
|
os.remove(x)
|
||||||
|
except:
|
||||||
|
print(Fore.LIGHTRED_EX, 'OOPS! Qualcosa e\' andato storto, non riesco a rimuovere i vecchi file :(', Style.RESET_ALL)
|
||||||
|
|
||||||
lastTime=time.time()
|
lastTime=time.time()
|
||||||
fileCounter = 1
|
fileCounter = 1
|
||||||
fileBodyCounter = 1
|
fileBodyCounter = 1
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
'''
|
|
||||||
Created on 27 nov 2018
|
|
||||||
|
|
||||||
@author: Emanuele
|
|
||||||
'''
|
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"INworkPath": "D:\\Test\\",
|
||||||
|
"OUTworkPath": "D:\\Test\\Separati\\",
|
||||||
|
"OUTnameFormat":"TEST_{docnum}_{year:04d}{month:02d}{day:02d}_{title}.txt",
|
||||||
|
"docStruct": {
|
||||||
|
"docSep": "\\s*Copyright [(0-9)]+",
|
||||||
|
"dateFormat":"{month} {day:d}, {year:d}{}",
|
||||||
|
"dateWords": [
|
||||||
|
"January",
|
||||||
|
"February",
|
||||||
|
"March",
|
||||||
|
"April",
|
||||||
|
"May",
|
||||||
|
"June",
|
||||||
|
"July",
|
||||||
|
"August",
|
||||||
|
"September",
|
||||||
|
"October",
|
||||||
|
"November",
|
||||||
|
"December"
|
||||||
|
],
|
||||||
|
"headWords": [
|
||||||
|
"BYLINE:",
|
||||||
|
"SECTION:",
|
||||||
|
"LENGTH:",
|
||||||
|
"DATELINE:",
|
||||||
|
"HIGHLIGHT:",
|
||||||
|
"Email:"
|
||||||
|
],
|
||||||
|
"tailWords": [
|
||||||
|
"Newstex ID" ,
|
||||||
|
"NOTES",
|
||||||
|
"LANGUAGE:",
|
||||||
|
"GRAPHIC:",
|
||||||
|
"TYPE:",
|
||||||
|
"URL:",
|
||||||
|
"LOAD-DATE:",
|
||||||
|
"PUBLICATION-TYPE:",
|
||||||
|
"DOCUMENT-TYPE:",
|
||||||
|
"CHARTS:",
|
||||||
|
"JOURNAL-CODE:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"encoding": "utf-8",
|
||||||
|
"monthPosition": 0,
|
||||||
|
"getNewsPaperName": true,
|
||||||
|
"nameNotFoundStr" : "--ND--",
|
||||||
|
"includeTitle" : true,
|
||||||
|
"removeDuplicates": true,
|
||||||
|
"showSkipped": false,
|
||||||
|
"showRemovedDuplicates": true,
|
||||||
|
"maxTitleLen": 32,
|
||||||
|
"loadTXT": true,
|
||||||
|
"loadDOCX": false,
|
||||||
|
"removeOldFiles":true,
|
||||||
|
"saveSeparateFiles": true,
|
||||||
|
"saveBodyFile": true,
|
||||||
|
"saveBodyNumber":true,
|
||||||
|
"delLF": false,
|
||||||
|
"delWordBreak": true,
|
||||||
|
"delChars": "'|@|#"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
"INworkPath": "C:\\Test\\",
|
||||||
|
"OUTworkPath": "C:\\Test\\Separati\\",
|
||||||
|
"OUTnameFormat":"TEST_{docnum}_{year:04d}{month:02d}{day:02d}_{papername}_{title}.txt",
|
||||||
|
"docStruct": {
|
||||||
|
"docSep": "Copyright [(0-9)]+",
|
||||||
|
"dateFormat":"{day:d} {month} {year:d} {}",
|
||||||
|
"dateWords": [
|
||||||
|
"Gennaio",
|
||||||
|
"Febbraio",
|
||||||
|
"Marzo",
|
||||||
|
"Aprile",
|
||||||
|
"Maggio",
|
||||||
|
"Giugno",
|
||||||
|
"Luglio",
|
||||||
|
"Agosto",
|
||||||
|
"Settembre",
|
||||||
|
"Ottobre",
|
||||||
|
"Novembre",
|
||||||
|
"Dicembre"
|
||||||
|
],
|
||||||
|
"headWords": [
|
||||||
|
"BYLINE:",
|
||||||
|
"SECTION:",
|
||||||
|
"LENGTH:",
|
||||||
|
"DATELINE:",
|
||||||
|
"HIGHLIGHT:",
|
||||||
|
"Email:"
|
||||||
|
],
|
||||||
|
"tailWords": [
|
||||||
|
"LANGUAGE:",
|
||||||
|
"GRAPHIC:",
|
||||||
|
"TYPE:",
|
||||||
|
"URL:",
|
||||||
|
"LOAD-DATE:",
|
||||||
|
"PUBLICATION-TYPE:",
|
||||||
|
"DOCUMENT-TYPE:",
|
||||||
|
"CHARTS:"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"encoding": "utf-8",
|
||||||
|
"monthPosition": 0,
|
||||||
|
"getNewsPaperName": true,
|
||||||
|
"nameNotFoundStr" : "--ND--",
|
||||||
|
"includeTitle" : true,
|
||||||
|
"removeDuplicates": true,
|
||||||
|
"showSkipped": false,
|
||||||
|
"showRemovedDuplicates": true,
|
||||||
|
"maxTitleLen": 32,
|
||||||
|
"loadTXT": true,
|
||||||
|
"loadDOCX": false,
|
||||||
|
"removeOldFiles":true,
|
||||||
|
"saveSeparateFiles": true,
|
||||||
|
"saveBodyFile": true,
|
||||||
|
"saveBodyNumber":true,
|
||||||
|
"delLF": false,
|
||||||
|
"delWordBreak": true,
|
||||||
|
"delChars": "'|@|#"
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user