2 Commits

Author SHA1 Message Date
3fa74f6ed9 rebuild exe 2019-10-30 15:47:58 +01:00
2f1236449a Corretta la rimozione dei file 2019-10-30 15:44:49 +01:00
13 changed files with 15387 additions and 277 deletions

View File

@@ -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

View File

@@ -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-math-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-math-l1-1-0.dll',
'BINARY'),
('VCRUNTIME140.dll',
'c:\\program files\\python37\\VCRUNTIME140.dll',
'BINARY'),
('api-ms-win-crt-locale-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-locale-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-heap-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-heap-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-stdio-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/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_231/bin\\api-ms-win-crt-runtime-l1-1-0.dll',
'BINARY'),
('python37.dll', 'c:\\program files\\python37\\python37.dll', 'BINARY'),
('ucrtbase.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\ucrtbase.dll',
'BINARY'),
('api-ms-win-crt-convert-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-convert-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-string-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-environment-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-environment-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-conio-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-conio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-filesystem-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-time-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-time-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-process-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-process-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-file-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-sysinfo-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l2-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-file-l2-1-0.dll',
'BINARY'),
('api-ms-win-core-namedpipe-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-namedpipe-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-interlocked-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-interlocked-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-processthreads-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-console-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-console-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-heap-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-heap-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-2-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-file-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-memory-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-memory-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-2-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-synch-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-errorhandling-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-libraryloader-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-1.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-processthreads-l1-1-1.dll',
'BINARY'),
('api-ms-win-core-util-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-util-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-localization-l1-2-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-localization-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-handle-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-handle-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-string-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processenvironment-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-processenvironment-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-synch-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-rtlsupport-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-profile-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-profile-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-debug-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-debug-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-timezone-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-timezone-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-datetime-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-datetime-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'),
('select', 'c:\\program files\\python37\\DLLs\\select.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'),
('_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'),
('libssl-1_1-x64.dll',
'c:\\program files\\python37\\DLLs\\libssl-1_1-x64.dll',
'BINARY'),
('libcrypto-1_1-x64.dll',
'c:\\program files\\python37\\DLLs\\libcrypto-1_1-x64.dll',
'BINARY'),
('api-ms-win-crt-utility-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/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,
1572446705,
[('run.exe',
'C:\\Users\\Emanuele '
'Trabattoni\\AppData\\Roaming\\Python\\Python37\\site-packages\\PyInstaller\\bootloader\\Windows-64bit\\run.exe',
'EXECUTABLE')])

Binary file not shown.

View File

@@ -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-math-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-math-l1-1-0.dll',
'BINARY'),
('VCRUNTIME140.dll',
'c:\\program files\\python37\\VCRUNTIME140.dll',
'BINARY'),
('api-ms-win-crt-locale-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-locale-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-heap-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-heap-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-stdio-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/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_231/bin\\api-ms-win-crt-runtime-l1-1-0.dll',
'BINARY'),
('python37.dll', 'c:\\program files\\python37\\python37.dll', 'BINARY'),
('ucrtbase.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\ucrtbase.dll',
'BINARY'),
('api-ms-win-crt-convert-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-convert-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-string-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-environment-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-environment-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-conio-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-conio-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-filesystem-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-filesystem-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-time-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-time-l1-1-0.dll',
'BINARY'),
('api-ms-win-crt-process-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-crt-process-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-file-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-sysinfo-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-sysinfo-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l2-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-file-l2-1-0.dll',
'BINARY'),
('api-ms-win-core-namedpipe-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-namedpipe-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-interlocked-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-interlocked-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-processthreads-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-console-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-console-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-heap-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-heap-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-file-l1-2-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-file-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-memory-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-memory-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-2-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-synch-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-errorhandling-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-errorhandling-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-libraryloader-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-libraryloader-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processthreads-l1-1-1.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-processthreads-l1-1-1.dll',
'BINARY'),
('api-ms-win-core-util-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-util-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-localization-l1-2-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-localization-l1-2-0.dll',
'BINARY'),
('api-ms-win-core-handle-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-handle-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-string-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-string-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-processenvironment-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-processenvironment-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-synch-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-synch-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-rtlsupport-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-rtlsupport-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-profile-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-profile-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-debug-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/bin\\api-ms-win-core-debug-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-timezone-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-timezone-l1-1-0.dll',
'BINARY'),
('api-ms-win-core-datetime-l1-1-0.dll',
'C:/Program '
'Files/Java/jre1.8.0_231/bin\\api-ms-win-core-datetime-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'),
('select', 'c:\\program files\\python37\\DLLs\\select.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'),
('_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'),
('libssl-1_1-x64.dll',
'c:\\program files\\python37\\DLLs\\libssl-1_1-x64.dll',
'BINARY'),
('libcrypto-1_1-x64.dll',
'c:\\program files\\python37\\DLLs\\libcrypto-1_1-x64.dll',
'BINARY'),
('api-ms-win-crt-utility-l1-1-0.dll',
'C:/Program Files/Java/jre1.8.0_231/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

View File

@@ -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.

View File

@@ -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 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 org - imported by pickle (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

BIN
bananaSPLIT/dist/bananaSPLIT.exe vendored Normal file

Binary file not shown.

View File

@@ -16,25 +16,25 @@ 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.4a\n\n', Style.RESET_ALL)
print('Iniziamo!!') print('Iniziamo!!')
pass pass
############################################################# #############################################################
####################### MAIN ################################ ####################### MAIN ################################
############################################################# #############################################################
@@ -44,82 +44,82 @@ status={'first':0, 'head':1, 'body':2, 'tail':3}
s=status['first'] s=status['first']
try: try:
conffiles = glob('*.json') conffiles = glob('*.json')
if len(conffiles) < 1: if len(conffiles) < 1:
raise raise
fileValid = False fileValid = False
while not fileValid: while not fileValid:
print ('Seleziona un file di configurazione per la lingua:') print ('Seleziona un file di configurazione per la lingua:')
for cf in enumerate(conffiles): for cf in enumerate(conffiles):
print('[{0}] - {1}'.format(cf[0],cf[1])) print('[{0}] - {1}'.format(cf[0],cf[1]))
try: try:
fn = int(input('Scrivi il numero del file e premi Invio: ')) fn = int(input('Scrivi il numero del file e premi Invio: '))
if (fn > len(conffiles)-1 or fn < 0): if (fn > len(conffiles)-1 or fn < 0):
raise raise
fileValid = True fileValid = True
except: except:
print('Scusa, non ho capito bene, ricominciamo..\n') print('Scusa, non ho capito bene, ricominciamo..\n')
fileValid = False fileValid = False
except: except:
print(Fore.LIGHTRED_EX, 'OOPS!! File di configurazione non selezionato o non presente..', Style.RESET_ALL) print(Fore.LIGHTRED_EX, 'OOPS!! File di configurazione non selezionato o non presente..', Style.RESET_ALL)
input() input()
sys.exit() sys.exit()
try: try:
print('\nApro il file di configurazione [{}]...'.format(conffiles[fn])) print('\nApro il file di configurazione [{}]...'.format(conffiles[fn]))
fp = open(conffiles[fn],'r') fp = open(conffiles[fn],'r')
cfg = json.load(fp) cfg = json.load(fp)
fp.close fp.close
try: try:
print('Carico i parametri...') print('Carico i parametri...')
docParams=cfg['docStruct'] docParams=cfg['docStruct']
basePath=cfg['INworkPath']+"{0}.{1}" basePath=cfg['INworkPath']+"{0}.{1}"
settings=cfg['settings'] settings=cfg['settings']
delChars=settings['delChars'].split('|') delChars=settings['delChars'].split('|')
docSep=re.compile(docParams['docSep']) docSep=re.compile(docParams['docSep'])
except: except:
print(Fore.LIGHTRED_EX,'OOPS! Qualcosa e\' andato storto, non riesco a caricare la configurazione, controlla la sintassi! :)', Style.RESET_ALL) print(Fore.LIGHTRED_EX,'OOPS! Qualcosa e\' andato storto, non riesco a caricare la configurazione, controlla la sintassi! :)', Style.RESET_ALL)
input() input()
sys.exit() sys.exit()
except IOError as e: except IOError as e:
print(Fore.LIGHTRED_EX, 'OOPS! Qualcosa e\' andato storto, non trovo il file di configurazione: {}'.format(e), Style.RESET_ALL) print(Fore.LIGHTRED_EX, 'OOPS! Qualcosa e\' andato storto, non trovo il file di configurazione: {}'.format(e), Style.RESET_ALL)
input() input()
sys.exit() sys.exit()
files=[] files=[]
try: try:
print('Ottengo la lista dei file da separare...') print('Ottengo la lista dei file da separare...')
if settings['loadTXT']: if settings['loadTXT']:
files+=glob(basePath.format('*','txt')) files+=glob(basePath.format('*','txt'))
if settings['loadDOCX']: if settings['loadDOCX']:
print(Fore.LIGHTRED_EX, 'OOPS! Scusa ma non posso accontentarti, per ora non so leggere i file DOCX.. :(', Style.RESET_ALL) print(Fore.LIGHTRED_EX, 'OOPS! Scusa ma non posso accontentarti, per ora non so leggere i file DOCX.. :(', Style.RESET_ALL)
input() input()
sys.exit() sys.exit()
#files+=glob(basePath.format('*','docx')) #files+=glob(basePath.format('*','docx'))
if len(files)<=0: if len(files)<=0:
raise raise
pprint(files) pprint(files)
while True: while True:
r=input('\nVuoi davvero bananaSPLITTARE questi documenti? [y/n]:') r=input('\nVuoi davvero bananaSPLITTARE questi documenti? [y/n]:')
r.strip() r.strip()
if r=='Y' or r =='y': if r=='Y' or r =='y':
break break
elif r=='n' or r=='N': elif r=='n' or r=='N':
print('OK! Nessun problema, ci vediamo dopo :)') print('OK! Nessun problema, ci vediamo dopo :)')
input() input()
sys.exit() sys.exit()
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']: if settings['removeOldFiles']:
print("Rimuovo i vecchi file dalla cartella di destinazione..") print("Rimuovo i vecchi file dalla cartella di destinazione..")
for x in glob(cfg['OUTworkPath']+'*.txt'): for x in glob(cfg['OUTworkPath']+'*.txt'):
os.remove(x) 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()
lastTime=time.time() lastTime=time.time()
fileCounter = 1 fileCounter = 1
fileBodyCounter = 1 fileBodyCounter = 1
@@ -128,201 +128,201 @@ totSkipped=0
# per ogni file nella lista # per ogni file nella lista
for f in files: for f in files:
s=status['first'] s=status['first']
prevLine='' prevLine=''
doc={'title':'', doc={'title':'',
'date':'', 'date':'',
'content':[] 'content':[]
} }
fileContent='' fileContent=''
tempContent=list() tempContent=list()
fileBaseName=os.path.split(f)[1].split('.')[0] fileBaseName=os.path.split(f)[1].split('.')[0]
fileBodyList=list() fileBodyList=list()
fileContent = list() fileContent = list()
try: try:
print() print()
print('-'*50) print('-'*50)
print('Apro il file: {}'.format(fileBaseName)) print('Apro il file: {}'.format(fileBaseName))
fp = open(f,mode='r', encoding=settings['encoding']) fp = open(f,mode='r', encoding=settings['encoding'])
fileContent=fp.readlines() #leggi le linee del file fileContent=fp.readlines() #leggi le linee del file
fp.close() fp.close()
except IOError as e: except IOError as e:
print(Fore.LIGHTRED_EX, 'OOPS! Qualcosa e\' andato storto, non riesco ad aprire il file: {}'.format(fileBaseName), Style.RESET_ALL) print(Fore.LIGHTRED_EX, 'OOPS! Qualcosa e\' andato storto, non riesco ad aprire il file: {}'.format(fileBaseName), Style.RESET_ALL)
continue continue
print('Elimino le righe vuote...') print('Elimino le righe vuote...')
for ll in fileContent: for ll in fileContent:
for c in delChars: for c in delChars:
ll=ll.replace(c,'') ll=ll.replace(c,'')
if ll not in ['\n','\r']: if ll not in ['\n','\r']:
tempContent.append(ll) tempContent.append(ll)
fileContent=deepcopy(tempContent) fileContent=deepcopy(tempContent)
tempContent=list() tempContent=list()
print('Individuo il contenuto...') print('Individuo il contenuto...')
docNumber = 0 docNumber = 0
docSkipped = 0 docSkipped = 0
bodyCounter = 0 bodyCounter = 0
duplicateNumber = 0 duplicateNumber = 0
docDate = {} docDate = {}
prevLine = '' prevLine = ''
newsPaperName = '' newsPaperName = ''
titleBegin = False titleBegin = False
for l in fileContent: #per ogni linea del file for l in fileContent: #per ogni linea del file
lineWords=l.lstrip().split(' ') #dividi la riga in parole lineWords=l.lstrip().split(' ') #dividi la riga in parole
if s==status['first']: if s==status['first']:
try: try:
#prendo il numero di documento per vedere se ci sono buchi #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 nn = parse.parse("{current:d} Of {total} Documents",l.strip().capitalize()).named
if nn["current"]-docNumber==1: if nn["current"]-docNumber==1:
pass pass
else: else:
if settings["showSkipped"]: if settings["showSkipped"]:
print(Fore.LIGHTRED_EX,"OOPS!! Il conto dei documenti non torna! LexisNexis \ print(Fore.LIGHTRED_EX,"OOPS!! Il conto dei documenti non torna! LexisNexis \
ne ha saltato qualcuno!\nPrecedente:{0}-Attuale:{1}".format(docNumber,nn["current"]), Style.RESET_ALL) ne ha saltato qualcuno!\nPrecedente:{0}-Attuale:{1}".format(docNumber,nn["current"]), Style.RESET_ALL)
docSkipped+=1 docSkipped+=1
docNumber = nn["current"] docNumber = nn["current"]
except: except:
pass pass
if (lineWords[settings['monthPosition']]).capitalize() in docParams['dateWords']: if (lineWords[settings['monthPosition']]).capitalize() in docParams['dateWords']:
try: try:
docDate=parse.parse(docParams['dateFormat'],l).named docDate=parse.parse(docParams['dateFormat'],l).named
docDate['month']=docDate['month'].lstrip().rstrip().capitalize() docDate['month']=docDate['month'].lstrip().rstrip().capitalize()
docDate['month']=docParams['dateWords'].index(docDate['month'])+1 docDate['month']=docParams['dateWords'].index(docDate['month'])+1
title = '' title = ''
titleBegin=True titleBegin=True
if settings['getNewsPaperName']: if settings['getNewsPaperName']:
try: try:
if prevLine.split(' ')[0].strip().isalpha(): if prevLine.split(' ')[0].strip().isalpha():
newsPaperName = prevLine.strip() newsPaperName = prevLine.strip()
else: else:
newsPaperName = settings['nameNotFoundStr'] newsPaperName = settings['nameNotFoundStr']
except: except:
print(Fore.LIGHTRED_EX, "OOPS! E' successo qualcosa mentre stavo cercando il nome della pubblicazione,\ print(Fore.LIGHTRED_EX, "OOPS! E' successo qualcosa mentre stavo cercando il nome della pubblicazione,\
controlla i file di uscita! \n\t[{}]".format(prevLine.strip()), Style.RESET_ALL) controlla i file di uscita! \n\t[{}]".format(prevLine.strip()), Style.RESET_ALL)
else: else:
newsPaperName = settings['nameNotFoundStr'] newsPaperName = settings['nameNotFoundStr']
except: except:
print(Fore.LIGHTRED_EX, "OOPS! Ho trovato una riga ambigua.. potrebbe essere una data ma non so: \n\t[{}]". format(l.strip('\r\n')), print(Fore.LIGHTRED_EX, "OOPS! Ho trovato una riga ambigua.. potrebbe essere una data ma non so: \n\t[{}]". format(l.strip('\r\n')),
Style.RESET_ALL) Style.RESET_ALL)
elif lineWords[0] in docParams['headWords']: elif lineWords[0] in docParams['headWords']:
s=status['head'] s=status['head']
newDoc=deepcopy(doc) newDoc=deepcopy(doc)
newDoc['title']=title newDoc['title']=title
newDoc['date']=docDate newDoc['date']=docDate
newDoc['newsPaperName'] = newsPaperName newDoc['newsPaperName'] = newsPaperName
titleBegin=False titleBegin=False
else: else:
if titleBegin: if titleBegin:
title += l.strip().capitalize() title += l.strip().capitalize()
except IndexError: except IndexError:
print (Fore.LIGHTRED_EX, 'OOPS! Errore inaspettato, contatta il tuo sviluppatore di fiducia!', Style.RESET_ALL) print (Fore.LIGHTRED_EX, 'OOPS! Errore inaspettato, contatta il tuo sviluppatore di fiducia!', Style.RESET_ALL)
elif s==status['head']: elif s==status['head']:
if lineWords[0] not in docParams['headWords']: #se la prima parola non e' tra quelle di inizio if lineWords[0] not in docParams['headWords']: #se la prima parola non e' tra quelle di inizio
tempContent.append(l) # vuol dire che ho trovato l'articolo tempContent.append(l) # vuol dire che ho trovato l'articolo
s=status['body'] s=status['body']
elif s==status['body']: elif s==status['body']:
if not lineWords[0] in docParams['tailWords']: #se la prima parola non e' tra quelle di fine if not lineWords[0] in docParams['tailWords']: #se la prima parola non e' tra quelle di fine
if settings['delLF']: if settings['delLF']:
tempContent.append(l.strip('\n')) #allora sto leggendo l'articolo tempContent.append(l.strip('\n')) #allora sto leggendo l'articolo
else: else:
tempContent.append(l) tempContent.append(l)
else: else:
s=status['tail'] s=status['tail']
anomaly = False anomaly = False
if docSep.match(l) is not None: #controlla se ci sono articoli che non hanno le parole chiave finali if docSep.match(l) is not None: #controlla se ci sono articoli che non hanno le parole chiave finali
print(Fore.YELLOW, "HEY! Ho individuato una separatore valido prima che si chiusesse l'articolo precedente, controlla i tuoi file in uscita!\n\ print(Fore.YELLOW, "HEY! 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'errore dovrebbe essere intorno all'articolo {} ma non sono sicuro! \n\t\t[{}]".format(docNumber,
l.strip()), Style.RESET_ALL) l.strip()), Style.RESET_ALL)
s=status['tail'] s=status['tail']
anomaly = True anomaly = True
elif s==status['tail']: #cerco il separatore di articoli e aggiungo quello letto alla lista elif s==status['tail']: #cerco il separatore di articoli e aggiungo quello letto alla lista
if docSep.match(l) is not None or anomaly: if docSep.match(l) is not None or anomaly:
s=status['first'] s=status['first']
anomaly = False anomaly = False
if settings['delWordBreak']: if settings['delWordBreak']:
tempContent=[ll.replace('-\n', '') for ll in tempContent] tempContent=[ll.replace('-\n', '') for ll in tempContent]
newDoc['content']=deepcopy(''.join(tempContent)) newDoc['content']=deepcopy(''.join(tempContent))
fileBodyList.append(deepcopy(newDoc)) fileBodyList.append(deepcopy(newDoc))
tempContent=list() tempContent=list()
bodyCounter +=1 bodyCounter +=1
else: else:
pass pass
prevLine=l prevLine=l
pass pass
print ('Nel file ho trovato {0} articoli..'.format(bodyCounter)) print ('Nel file ho trovato {0} articoli..'.format(bodyCounter))
if docSkipped > 0: if docSkipped > 0:
print (Fore.YELLOW, 'Attentione, LexisNexis ne ha saltati {} !!!'.format(docSkipped), Style.RESET_ALL) print (Fore.YELLOW, 'Attentione, LexisNexis ne ha saltati {} !!!'.format(docSkipped), Style.RESET_ALL)
print() print()
if bodyCounter >= 1: if bodyCounter >= 1:
if settings['removeDuplicates']: if settings['removeDuplicates']:
print ('Controllo se ci sono dei duplicati..') print ('Controllo se ci sono dei duplicati..')
titleList=[] titleList=[]
duplicateList=[] duplicateList=[]
duplicateNumber=0 duplicateNumber=0
for idx, ff in enumerate(fileBodyList): for idx, ff in enumerate(fileBodyList):
if ff['title'] not in titleList: if ff['title'] not in titleList:
titleList.append(ff['title']) titleList.append(ff['title'])
ff['duplicate']=False ff['duplicate']=False
fileBodyList[idx]=ff fileBodyList[idx]=ff
pass pass
else: else:
if ff['title'] not in duplicateList: if ff['title'] not in duplicateList:
duplicateList.append(ff['title']) duplicateList.append(ff['title'])
if settings['showRemovedDuplicates']: if settings['showRemovedDuplicates']:
print ('Duplicato: {}'.format(ff['title'].strip())) print ('Duplicato: {}'.format(ff['title'].strip()))
ff['duplicate'] = True ff['duplicate'] = True
fileBodyList[idx]=ff fileBodyList[idx]=ff
duplicateNumber+=1 duplicateNumber+=1
print ('Ho rimosso {} duplicati di {} articoli..\n'. format(duplicateNumber, len(duplicateList))) print ('Ho rimosso {} duplicati di {} articoli..\n'. format(duplicateNumber, len(duplicateList)))
else: else:
for idx, ff in enumerate(fileBodyList): for idx, ff in enumerate(fileBodyList):
ff['duplicate']=False ff['duplicate']=False
fileBodyList[idx]=ff fileBodyList[idx]=ff
print('Salto il controllo dei duplicati..') print('Salto il controllo dei duplicati..')
pass pass
if settings['saveSeparateFiles']: if settings['saveSeparateFiles']:
print ('Salvo gli articoli in file separati...') print ('Salvo gli articoli in file separati...')
print ('Persorso: {0}'.format(cfg['OUTworkPath'].format('nomeFile'))) print ('Persorso: {0}'.format(cfg['OUTworkPath'].format('nomeFile')))
for ff in fileBodyList: for ff in fileBodyList:
try: try:
if ff['duplicate'] == False: if ff['duplicate'] == False:
fileName=cfg['OUTnameFormat'].format(title=slugify(ff['title'][:settings['maxTitleLen']]),\ fileName=cfg['OUTnameFormat'].format(title=slugify(ff['title'][:settings['maxTitleLen']]),\
filename=slugify(fileBaseName),\ filename=slugify(fileBaseName),\
docnum=fileBodyCounter,\ docnum=fileBodyCounter,\
papername=ff['newsPaperName'].strip(),\ papername=ff['newsPaperName'].strip(),\
**ff['date']) **ff['date'])
out=open(cfg['OUTworkPath']+'{0}'.format(fileName),'wb') out=open(cfg['OUTworkPath']+'{0}'.format(fileName),'wb')
if settings['includeTitle']: if settings['includeTitle']:
ff['content'] = ff['title']+os.linesep+ff['content'] ff['content'] = ff['title']+os.linesep+ff['content']
out.write(ff['content'].encode(settings['encoding'])) out.write(ff['content'].encode(settings['encoding']))
out.close() out.close()
fileBodyCounter+=1 fileBodyCounter+=1
except IOError as e: except IOError as e:
print(Fore.LIGHTRED_EX, 'OOPS! Qualcosa e\' andato storto, non riesco a scrivere il file: {}'.format(e), Style.RESET_ALL) print(Fore.LIGHTRED_EX, 'OOPS! Qualcosa e\' andato storto, non riesco a scrivere il file: {}'.format(e), Style.RESET_ALL)
continue continue
if settings['saveBodyFile']: if settings['saveBodyFile']:
print('Salvo gli articoli in un singolo file vicino agli originali...') print('Salvo gli articoli in un singolo file vicino agli originali...')
print ('Persorso: {0}'.format(cfg['OUTworkPath'].format('nomeFile'))) print ('Persorso: {0}'.format(cfg['OUTworkPath'].format('nomeFile')))
try: try:
fileName=slugify(fileBaseName) fileName=slugify(fileBaseName)
fileName='BODYFILE_{0}_{1}.txt'.format(fileCounter,fileName[:settings['maxTitleLen']]) fileName='BODYFILE_{0}_{1}.txt'.format(fileCounter,fileName[:settings['maxTitleLen']])
fileContent = os.linesep.join([cc['content'] for cc in fileBodyList]) fileContent = os.linesep.join([cc['content'] for cc in fileBodyList])
out=open(cfg['OUTworkPath']+'{0}'.format(fileName),'wb') out=open(cfg['OUTworkPath']+'{0}'.format(fileName),'wb')
out.write(fileContent.encode(settings['encoding'])) out.write(fileContent.encode(settings['encoding']))
out.close() out.close()
except IOError as e: except IOError as e:
print(Fore.LIGHTRED_EX, 'OOPS! Qualcosa e\' andato storto, non riesco a scrivere il file: {}'.format(e), Style.RESET_ALL) print(Fore.LIGHTRED_EX, 'OOPS! Qualcosa e\' andato storto, non riesco a scrivere il file: {}'.format(e), Style.RESET_ALL)
continue continue
fileCounter+=1 fileCounter+=1
totSkipped+=docSkipped totSkipped+=docSkipped
totFound+=bodyCounter-duplicateNumber totFound+=bodyCounter-duplicateNumber
else: else:
print('[{0}] non contiene articoli, \n controlla meglio le parole chiave! SGRUNT'.format(fileBaseName)) print('[{0}] non contiene articoli, \n controlla meglio le parole chiave! SGRUNT'.format(fileBaseName))
print('-'*50) print('-'*50)
print() print()
print (Fore.LIGHTYELLOW_EX, 'bananaSPLIT ha concluso con successo in {0:1.3f} secondi, \n\ print (Fore.LIGHTYELLOW_EX, 'bananaSPLIT ha concluso con successo in {0:1.3f} secondi, \n\