last update

This commit is contained in:
Louis Mylle
2026-01-10 14:59:35 +01:00
parent ea4cab15c3
commit 757fc291b0
30 changed files with 22270 additions and 30 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

44
EBoek_Scraper.spec Normal file
View File

@@ -0,0 +1,44 @@
# -*- mode: python ; coding: utf-8 -*-
a = Analysis(
['gui_main.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=['PyQt5.QtCore', 'PyQt5.QtGui', 'PyQt5.QtWidgets', 'selenium', 'selenium.webdriver', 'selenium.webdriver.chrome', 'selenium.webdriver.chrome.options', 'selenium.webdriver.common.by', 'core.scraper', 'core.scraper_thread', 'core.credentials', 'gui.main_window', 'gui.login_dialog', 'gui.progress_dialog', 'utils.validators'],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=['tkinter', 'matplotlib', 'numpy', 'pandas'],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
[],
name='EBoek_Scraper',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)
app = BUNDLE(
exe,
name='EBoek_Scraper.app',
icon=None,
bundle_identifier=None,
)

View File

@@ -19,16 +19,29 @@ Een moderne PyQt5 GUI applicatie voor het scrapen van EBoek.info met dual scrapi
## 🚀 Installatie
### Windows
Dubbelklik op `install_and_run.bat`
### macOS / Linux
### Optie 1: Standalone Executable (Aanbevolen)
**Geen Python installatie nodig!**
```bash
chmod +x install_and_run.sh
./install_and_run.sh
# Bouw executable (eenmalig)
python3 scripts/build_executable.py
# Distribueer het bestand uit dist/ folder
# ~30MB bestand met alles inbegrepen
```
### Handmatig
### Optie 2: Python Installatie
**Windows:**
```cmd
scripts/install_and_run.bat
```
**macOS / Linux:**
```bash
chmod +x scripts/install_and_run.sh
./scripts/install_and_run.sh
```
**Handmatig:**
```bash
pip install selenium urllib3 PyQt5
python3 gui_main.py
@@ -57,10 +70,18 @@ python3 gui_main.py
## 🗂️ Project Structuur
```
├── gui_main.py # GUI applicatie entry point
├── install_and_run.bat # Windows installer
├── install_and_run.sh # macOS/Linux installer
├── README.md # Project documentatie
├── requirements.txt # Dependencies
├── gui_main.py # GUI applicatie entry point
├── scripts/ # Build & install scripts
│ ├── build_executable.py # Executable builder (aanbevolen)
│ ├── build_exe.bat # Windows build script
│ ├── build_exe.sh # macOS/Linux build script
│ ├── eboek_scraper.spec # PyInstaller configuration
│ ├── install_and_run.bat # Windows installer
│ └── install_and_run.sh # macOS/Linux installer
├── docs/ # Documentatie
│ └── BUILD_GUIDE.md # Executable build guide
├── core/ # Scraping logic
│ ├── scraper.py # Dual-mode scraper
│ ├── scraper_thread.py # Threading wrapper
@@ -70,7 +91,9 @@ python3 gui_main.py
│ ├── login_dialog.py # Credential input
│ └── progress_dialog.py # Progress monitoring
├── tests/ # Test scripts
── utils/ # Helper functions
── utils/ # Helper functions
└── dist/ # Built executables (na build)
└── EBoek_Scraper # Standalone executable
```
## 🔧 Troubleshooting
@@ -81,9 +104,10 @@ python3 gui_main.py
## 💡 Tips
- Begin met 1-2 pagina's om de functionaliteit te testen
- Gebruik headless mode voor optimale snelheid
- Monitor de voortgang in de progress dialog
- **Distributie**: Gebruik executable voor makkelijke delen (geen Python setup nodig)
- **Testing**: Begin met 1-2 pagina's om de functionaliteit te testen
- **Performance**: Gebruik headless mode voor optimale snelheid
- **Monitoring**: Volg de voortgang in de progress dialog met realtime statistieken
---

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
([('EBoek_Scraper',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/dist/EBoek_Scraper',
'EXECUTABLE')],)

Binary file not shown.

View File

@@ -0,0 +1,783 @@
('/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/dist/EBoek_Scraper',
False,
False,
False,
None,
None,
False,
False,
None,
True,
False,
'arm64',
None,
None,
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/EBoek_Scraper.pkg',
[('pyi-contents-directory _internal', '', 'OPTION'),
('PYZ-00.pyz',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/PYZ-00.pyz',
'PYZ'),
('python3.9/lib-dynload/_struct.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_struct.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/zlib.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/zlib.cpython-39-darwin.so',
'EXTENSION'),
('struct',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/localpycs/struct.pyc',
'PYMODULE'),
('pyimod01_archive',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/localpycs/pyimod01_archive.pyc',
'PYMODULE'),
('pyimod02_importers',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/localpycs/pyimod02_importers.pyc',
'PYMODULE'),
('pyimod03_ctypes',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/localpycs/pyimod03_ctypes.pyc',
'PYMODULE'),
('pyiboot01_bootstrap',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyInstaller/loader/pyiboot01_bootstrap.py',
'PYSOURCE'),
('pyi_rth_inspect',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyInstaller/hooks/rthooks/pyi_rth_inspect.py',
'PYSOURCE'),
('pyi_rth_pkgutil',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyInstaller/hooks/rthooks/pyi_rth_pkgutil.py',
'PYSOURCE'),
('pyi_rth_multiprocessing',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyInstaller/hooks/rthooks/pyi_rth_multiprocessing.py',
'PYSOURCE'),
('pyi_rth_pyqt5',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyInstaller/hooks/rthooks/pyi_rth_pyqt5.py',
'PYSOURCE'),
('gui_main',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/gui_main.py',
'PYSOURCE'),
('selenium/webdriver/common/macos/selenium-manager',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/macos/selenium-manager',
'BINARY'),
('Python3.framework/Versions/3.9/Python3',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/Python3',
'BINARY'),
('PyQt5/Qt5/plugins/platformthemes/libqxdgdesktopportal.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/platformthemes/libqxdgdesktopportal.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/platforms/libqwebgl.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/platforms/libqwebgl.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqmacheif.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqmacheif.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqwbmp.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqwbmp.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/iconengines/libqsvgicon.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/iconengines/libqsvgicon.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqjpeg.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqjpeg.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqwebp.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqwebp.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqtiff.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqtiff.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqgif.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqgif.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqicns.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqicns.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/platforms/libqminimal.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/platforms/libqminimal.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqmacjp2.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqmacjp2.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/generic/libqtuiotouchplugin.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/generic/libqtuiotouchplugin.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqsvg.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqsvg.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqico.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqico.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/platforms/libqcocoa.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/platforms/libqcocoa.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/platforms/libqoffscreen.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/platforms/libqoffscreen.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqtga.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqtga.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/styles/libqmacstyle.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/styles/libqmacstyle.dylib',
'BINARY'),
('python3.9/lib-dynload/_datetime.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_datetime.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_statistics.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_statistics.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_contextvars.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_contextvars.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_decimal.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_decimal.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_pickle.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_pickle.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_hashlib.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_hashlib.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_sha3.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_sha3.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_blake2.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_blake2.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_sha256.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_sha256.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_md5.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_md5.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_sha1.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_sha1.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_sha512.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_sha512.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_random.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_random.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_bisect.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_bisect.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/math.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/math.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/resource.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/resource.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/grp.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/grp.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_lzma.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_lzma.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_bz2.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_bz2.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/binascii.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/binascii.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_scproxy.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_scproxy.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/termios.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/termios.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_ssl.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_ssl.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/unicodedata.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/unicodedata.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/array.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/array.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/select.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/select.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_socket.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_socket.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_csv.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_csv.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_posixsubprocess.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_posixsubprocess.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_posixshmem.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_posixshmem.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_multiprocessing.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_multiprocessing.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/pyexpat.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/pyexpat.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/mmap.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/mmap.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_ctypes.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_ctypes.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_queue.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_queue.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_opcode.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_opcode.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_json.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_json.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_asyncio.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_asyncio.cpython-39-darwin.so',
'EXTENSION'),
('_brotli.cpython-39-darwin.so',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/_brotli.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_uuid.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_uuid.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_multibytecodec.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_multibytecodec.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_codecs_jp.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_codecs_jp.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_codecs_kr.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_codecs_kr.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_codecs_iso2022.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_codecs_iso2022.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_codecs_cn.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_codecs_cn.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_codecs_tw.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_codecs_tw.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_codecs_hk.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_codecs_hk.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_heapq.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_heapq.cpython-39-darwin.so',
'EXTENSION'),
('PyQt5/QtGui.abi3.so',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/QtGui.abi3.so',
'EXTENSION'),
('PyQt5/sip.cpython-39-darwin.so',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/sip.cpython-39-darwin.so',
'EXTENSION'),
('PyQt5/QtCore.abi3.so',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/QtCore.abi3.so',
'EXTENSION'),
('PyQt5/QtWidgets.abi3.so',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/QtWidgets.abi3.so',
'EXTENSION'),
('PyQt5/Qt5/lib/QtGui.framework/Versions/5/QtGui',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtGui.framework/Versions/5/QtGui',
'BINARY'),
('PyQt5/Qt5/lib/QtCore.framework/Versions/5/QtCore',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtCore.framework/Versions/5/QtCore',
'BINARY'),
('PyQt5/Qt5/lib/QtDBus.framework/Versions/5/QtDBus',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtDBus.framework/Versions/5/QtDBus',
'BINARY'),
('PyQt5/Qt5/lib/QtQmlModels.framework/Versions/5/QtQmlModels',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtQmlModels.framework/Versions/5/QtQmlModels',
'BINARY'),
('PyQt5/Qt5/lib/QtQml.framework/Versions/5/QtQml',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtQml.framework/Versions/5/QtQml',
'BINARY'),
('PyQt5/Qt5/lib/QtNetwork.framework/Versions/5/QtNetwork',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtNetwork.framework/Versions/5/QtNetwork',
'BINARY'),
('PyQt5/Qt5/lib/QtQuick.framework/Versions/5/QtQuick',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtQuick.framework/Versions/5/QtQuick',
'BINARY'),
('PyQt5/Qt5/lib/QtWebSockets.framework/Versions/5/QtWebSockets',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtWebSockets.framework/Versions/5/QtWebSockets',
'BINARY'),
('PyQt5/Qt5/lib/QtSvg.framework/Versions/5/QtSvg',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtSvg.framework/Versions/5/QtSvg',
'BINARY'),
('PyQt5/Qt5/lib/QtWidgets.framework/Versions/5/QtWidgets',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtWidgets.framework/Versions/5/QtWidgets',
'BINARY'),
('PyQt5/Qt5/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport',
'BINARY'),
('certifi/py.typed',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/certifi/py.typed',
'DATA'),
('certifi/cacert.pem',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/certifi/cacert.pem',
'DATA'),
('selenium/webdriver/remote/isDisplayed.js',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/remote/isDisplayed.js',
'DATA'),
('selenium/webdriver/remote/getAttribute.js',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/remote/getAttribute.js',
'DATA'),
('selenium/py.typed',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/py.typed',
'DATA'),
('selenium/webdriver/remote/findElements.js',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/remote/findElements.js',
'DATA'),
('selenium/webdriver/common/windows/selenium-manager.exe',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/windows/selenium-manager.exe',
'DATA'),
('selenium/webdriver/common/devtools/v138/py.typed',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/devtools/v138/py.typed',
'DATA'),
('selenium/webdriver/common/mutation-listener.js',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/mutation-listener.js',
'DATA'),
('selenium/webdriver/firefox/webdriver_prefs.json',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/firefox/webdriver_prefs.json',
'DATA'),
('selenium/webdriver/common/devtools/v137/py.typed',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/devtools/v137/py.typed',
'DATA'),
('selenium/webdriver/common/linux/selenium-manager',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/linux/selenium-manager',
'DATA'),
('selenium/webdriver/common/devtools/v139/py.typed',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/devtools/v139/py.typed',
'DATA'),
('PyQt5/Qt5/translations/qt_help_ko.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_ko.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_sl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_sl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_nn.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_nn.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_gd.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_gd.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_da.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_da.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_ca.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_ca.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_ru.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_ru.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_fr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_fr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_lt.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_lt.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_hr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_hr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_de.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_de.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_cs.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_cs.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_bg.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_bg.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_es.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_es.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_pt_BR.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_pt_BR.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_it.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_it.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_da.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_da.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_ja.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_ja.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_hr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_hr.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_ko.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_ko.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_bg.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_bg.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_cs.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_cs.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_nn.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_nn.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_lv.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_lv.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_uk.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_uk.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_hu.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_hu.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_pt_PT.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_pt_PT.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_gd.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_gd.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_gl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_gl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_pl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_pl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_ko.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_ko.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_it.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_it.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_pt_BR.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_pt_BR.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_ar.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_ar.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_zh_CN.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_zh_CN.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_pl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_pl.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_es.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_es.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_zh_CN.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_zh_CN.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_zh_CN.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_zh_CN.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_pt_BR.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_pt_BR.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_en.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_en.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_sl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_sl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_gl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_gl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_uk.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_uk.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_he.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_he.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_fa.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_fa.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_ja.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_ja.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_hr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_hr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_sk.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_sk.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_sk.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_sk.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_nn.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_nn.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_hu.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_hu.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_ru.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_ru.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_fr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_fr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_hu.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_hu.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_zh_TW.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_zh_TW.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_sv.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_sv.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_fr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_fr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_en.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_en.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_ca.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_ca.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_ru.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_ru.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_de.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_de.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_he.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_he.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_it.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_it.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_fi.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_fi.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_fa.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_fa.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_nl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_nl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_es.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_es.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_zh_TW.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_zh_TW.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_ar.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_ar.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_tr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_tr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_ca.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_ca.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_en.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_en.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_sk.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_sk.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_tr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_tr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_ar.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_ar.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_cs.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_cs.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_de.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_de.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_fi.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_fi.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_tr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_tr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_lv.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_lv.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_pl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_pl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_nl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_nl.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_nl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_nl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_uk.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_uk.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_ja.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_ja.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_zh_TW.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_zh_TW.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_da.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_da.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_bg.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_bg.qm',
'DATA'),
('Python3', 'Python3.framework/Versions/3.9/Python3', 'SYMLINK'),
('h2-4.3.0.dist-info/top_level.txt',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/h2-4.3.0.dist-info/top_level.txt',
'DATA'),
('h2-4.3.0.dist-info/licenses/LICENSE',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/h2-4.3.0.dist-info/licenses/LICENSE',
'DATA'),
('h2-4.3.0.dist-info/INSTALLER',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/h2-4.3.0.dist-info/INSTALLER',
'DATA'),
('h2-4.3.0.dist-info/RECORD',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/h2-4.3.0.dist-info/RECORD',
'DATA'),
('h2-4.3.0.dist-info/WHEEL',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/h2-4.3.0.dist-info/WHEEL',
'DATA'),
('h2-4.3.0.dist-info/METADATA',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/h2-4.3.0.dist-info/METADATA',
'DATA'),
('base_library.zip',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/base_library.zip',
'DATA'),
('QtGui', 'PyQt5/Qt5/lib/QtGui.framework/Versions/5/QtGui', 'SYMLINK'),
('QtCore', 'PyQt5/Qt5/lib/QtCore.framework/Versions/5/QtCore', 'SYMLINK'),
('QtDBus', 'PyQt5/Qt5/lib/QtDBus.framework/Versions/5/QtDBus', 'SYMLINK'),
('QtQmlModels',
'PyQt5/Qt5/lib/QtQmlModels.framework/Versions/5/QtQmlModels',
'SYMLINK'),
('QtQml', 'PyQt5/Qt5/lib/QtQml.framework/Versions/5/QtQml', 'SYMLINK'),
('QtNetwork',
'PyQt5/Qt5/lib/QtNetwork.framework/Versions/5/QtNetwork',
'SYMLINK'),
('QtQuick', 'PyQt5/Qt5/lib/QtQuick.framework/Versions/5/QtQuick', 'SYMLINK'),
('QtWebSockets',
'PyQt5/Qt5/lib/QtWebSockets.framework/Versions/5/QtWebSockets',
'SYMLINK'),
('QtSvg', 'PyQt5/Qt5/lib/QtSvg.framework/Versions/5/QtSvg', 'SYMLINK'),
('QtWidgets',
'PyQt5/Qt5/lib/QtWidgets.framework/Versions/5/QtWidgets',
'SYMLINK'),
('QtPrintSupport',
'PyQt5/Qt5/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport',
'SYMLINK'),
('PyQt5/Qt5/lib/QtCore.framework/QtCore',
'Versions/Current/QtCore',
'SYMLINK'),
('PyQt5/Qt5/lib/QtCore.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtCore.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtCore.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtCore.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtDBus.framework/QtDBus',
'Versions/Current/QtDBus',
'SYMLINK'),
('PyQt5/Qt5/lib/QtDBus.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtDBus.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtDBus.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtDBus.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtGui.framework/QtGui', 'Versions/Current/QtGui', 'SYMLINK'),
('PyQt5/Qt5/lib/QtGui.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtGui.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtGui.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtGui.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtNetwork.framework/QtNetwork',
'Versions/Current/QtNetwork',
'SYMLINK'),
('PyQt5/Qt5/lib/QtNetwork.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtNetwork.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtNetwork.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtNetwork.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtPrintSupport.framework/QtPrintSupport',
'Versions/Current/QtPrintSupport',
'SYMLINK'),
('PyQt5/Qt5/lib/QtPrintSupport.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtPrintSupport.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtPrintSupport.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtPrintSupport.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtQml.framework/QtQml', 'Versions/Current/QtQml', 'SYMLINK'),
('PyQt5/Qt5/lib/QtQml.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtQml.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtQml.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtQml.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtQmlModels.framework/QtQmlModels',
'Versions/Current/QtQmlModels',
'SYMLINK'),
('PyQt5/Qt5/lib/QtQmlModels.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtQmlModels.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtQmlModels.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtQmlModels.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtQuick.framework/QtQuick',
'Versions/Current/QtQuick',
'SYMLINK'),
('PyQt5/Qt5/lib/QtQuick.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtQuick.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtQuick.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtQuick.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtSvg.framework/QtSvg', 'Versions/Current/QtSvg', 'SYMLINK'),
('PyQt5/Qt5/lib/QtSvg.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtSvg.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtSvg.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtSvg.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtWebSockets.framework/QtWebSockets',
'Versions/Current/QtWebSockets',
'SYMLINK'),
('PyQt5/Qt5/lib/QtWebSockets.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtWebSockets.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtWebSockets.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtWebSockets.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtWidgets.framework/QtWidgets',
'Versions/Current/QtWidgets',
'SYMLINK'),
('PyQt5/Qt5/lib/QtWidgets.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtWidgets.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtWidgets.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtWidgets.framework/Versions/Current', '5', 'SYMLINK'),
('Python3.framework/Python3', 'Versions/Current/Python3', 'SYMLINK'),
('Python3.framework/Resources', 'Versions/Current/Resources', 'SYMLINK'),
('Python3.framework/Versions/3.9/Resources/Info.plist',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Info.plist',
'DATA'),
('Python3.framework/Versions/Current', '3.9', 'SYMLINK')],
[],
False,
False,
1768053398,
[('runw',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyInstaller/bootloader/Darwin-64bit/runw',
'EXECUTABLE')],
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/Python3')

View File

@@ -0,0 +1,777 @@
('/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/EBoek_Scraper.pkg',
{'BINARY': True,
'DATA': True,
'EXECUTABLE': True,
'EXTENSION': True,
'PYMODULE': True,
'PYSOURCE': True,
'PYZ': False,
'SPLASH': True,
'SYMLINK': False},
[('pyi-contents-directory _internal', '', 'OPTION'),
('PYZ-00.pyz',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/PYZ-00.pyz',
'PYZ'),
('python3.9/lib-dynload/_struct.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_struct.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/zlib.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/zlib.cpython-39-darwin.so',
'EXTENSION'),
('struct',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/localpycs/struct.pyc',
'PYMODULE'),
('pyimod01_archive',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/localpycs/pyimod01_archive.pyc',
'PYMODULE'),
('pyimod02_importers',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/localpycs/pyimod02_importers.pyc',
'PYMODULE'),
('pyimod03_ctypes',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/localpycs/pyimod03_ctypes.pyc',
'PYMODULE'),
('pyiboot01_bootstrap',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyInstaller/loader/pyiboot01_bootstrap.py',
'PYSOURCE'),
('pyi_rth_inspect',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyInstaller/hooks/rthooks/pyi_rth_inspect.py',
'PYSOURCE'),
('pyi_rth_pkgutil',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyInstaller/hooks/rthooks/pyi_rth_pkgutil.py',
'PYSOURCE'),
('pyi_rth_multiprocessing',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyInstaller/hooks/rthooks/pyi_rth_multiprocessing.py',
'PYSOURCE'),
('pyi_rth_pyqt5',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyInstaller/hooks/rthooks/pyi_rth_pyqt5.py',
'PYSOURCE'),
('gui_main',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/gui_main.py',
'PYSOURCE'),
('selenium/webdriver/common/macos/selenium-manager',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/macos/selenium-manager',
'BINARY'),
('Python3.framework/Versions/3.9/Python3',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/Python3',
'BINARY'),
('PyQt5/Qt5/plugins/platformthemes/libqxdgdesktopportal.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/platformthemes/libqxdgdesktopportal.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/platforms/libqwebgl.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/platforms/libqwebgl.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqmacheif.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqmacheif.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqwbmp.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqwbmp.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/iconengines/libqsvgicon.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/iconengines/libqsvgicon.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqjpeg.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqjpeg.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqwebp.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqwebp.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqtiff.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqtiff.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqgif.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqgif.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqicns.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqicns.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/platforms/libqminimal.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/platforms/libqminimal.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqmacjp2.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqmacjp2.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/generic/libqtuiotouchplugin.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/generic/libqtuiotouchplugin.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqsvg.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqsvg.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqico.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqico.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/platforms/libqcocoa.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/platforms/libqcocoa.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/platforms/libqoffscreen.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/platforms/libqoffscreen.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/imageformats/libqtga.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/imageformats/libqtga.dylib',
'BINARY'),
('PyQt5/Qt5/plugins/styles/libqmacstyle.dylib',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/plugins/styles/libqmacstyle.dylib',
'BINARY'),
('python3.9/lib-dynload/_datetime.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_datetime.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_statistics.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_statistics.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_contextvars.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_contextvars.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_decimal.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_decimal.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_pickle.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_pickle.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_hashlib.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_hashlib.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_sha3.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_sha3.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_blake2.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_blake2.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_sha256.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_sha256.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_md5.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_md5.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_sha1.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_sha1.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_sha512.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_sha512.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_random.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_random.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_bisect.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_bisect.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/math.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/math.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/resource.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/resource.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/grp.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/grp.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_lzma.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_lzma.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_bz2.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_bz2.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/binascii.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/binascii.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_scproxy.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_scproxy.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/termios.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/termios.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_ssl.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_ssl.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/unicodedata.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/unicodedata.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/array.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/array.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/select.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/select.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_socket.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_socket.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_csv.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_csv.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_posixsubprocess.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_posixsubprocess.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_posixshmem.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_posixshmem.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_multiprocessing.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_multiprocessing.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/pyexpat.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/pyexpat.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/mmap.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/mmap.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_ctypes.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_ctypes.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_queue.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_queue.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_opcode.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_opcode.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_json.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_json.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_asyncio.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_asyncio.cpython-39-darwin.so',
'EXTENSION'),
('_brotli.cpython-39-darwin.so',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/_brotli.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_uuid.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_uuid.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_multibytecodec.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_multibytecodec.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_codecs_jp.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_codecs_jp.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_codecs_kr.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_codecs_kr.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_codecs_iso2022.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_codecs_iso2022.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_codecs_cn.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_codecs_cn.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_codecs_tw.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_codecs_tw.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_codecs_hk.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_codecs_hk.cpython-39-darwin.so',
'EXTENSION'),
('python3.9/lib-dynload/_heapq.cpython-39-darwin.so',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_heapq.cpython-39-darwin.so',
'EXTENSION'),
('PyQt5/QtGui.abi3.so',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/QtGui.abi3.so',
'EXTENSION'),
('PyQt5/sip.cpython-39-darwin.so',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/sip.cpython-39-darwin.so',
'EXTENSION'),
('PyQt5/QtCore.abi3.so',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/QtCore.abi3.so',
'EXTENSION'),
('PyQt5/QtWidgets.abi3.so',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/QtWidgets.abi3.so',
'EXTENSION'),
('PyQt5/Qt5/lib/QtGui.framework/Versions/5/QtGui',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtGui.framework/Versions/5/QtGui',
'BINARY'),
('PyQt5/Qt5/lib/QtCore.framework/Versions/5/QtCore',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtCore.framework/Versions/5/QtCore',
'BINARY'),
('PyQt5/Qt5/lib/QtDBus.framework/Versions/5/QtDBus',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtDBus.framework/Versions/5/QtDBus',
'BINARY'),
('PyQt5/Qt5/lib/QtQmlModels.framework/Versions/5/QtQmlModels',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtQmlModels.framework/Versions/5/QtQmlModels',
'BINARY'),
('PyQt5/Qt5/lib/QtQml.framework/Versions/5/QtQml',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtQml.framework/Versions/5/QtQml',
'BINARY'),
('PyQt5/Qt5/lib/QtNetwork.framework/Versions/5/QtNetwork',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtNetwork.framework/Versions/5/QtNetwork',
'BINARY'),
('PyQt5/Qt5/lib/QtQuick.framework/Versions/5/QtQuick',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtQuick.framework/Versions/5/QtQuick',
'BINARY'),
('PyQt5/Qt5/lib/QtWebSockets.framework/Versions/5/QtWebSockets',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtWebSockets.framework/Versions/5/QtWebSockets',
'BINARY'),
('PyQt5/Qt5/lib/QtSvg.framework/Versions/5/QtSvg',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtSvg.framework/Versions/5/QtSvg',
'BINARY'),
('PyQt5/Qt5/lib/QtWidgets.framework/Versions/5/QtWidgets',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtWidgets.framework/Versions/5/QtWidgets',
'BINARY'),
('PyQt5/Qt5/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport',
'BINARY'),
('certifi/py.typed',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/certifi/py.typed',
'DATA'),
('certifi/cacert.pem',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/certifi/cacert.pem',
'DATA'),
('selenium/webdriver/remote/isDisplayed.js',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/remote/isDisplayed.js',
'DATA'),
('selenium/webdriver/remote/getAttribute.js',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/remote/getAttribute.js',
'DATA'),
('selenium/py.typed',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/py.typed',
'DATA'),
('selenium/webdriver/remote/findElements.js',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/remote/findElements.js',
'DATA'),
('selenium/webdriver/common/windows/selenium-manager.exe',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/windows/selenium-manager.exe',
'DATA'),
('selenium/webdriver/common/devtools/v138/py.typed',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/devtools/v138/py.typed',
'DATA'),
('selenium/webdriver/common/mutation-listener.js',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/mutation-listener.js',
'DATA'),
('selenium/webdriver/firefox/webdriver_prefs.json',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/firefox/webdriver_prefs.json',
'DATA'),
('selenium/webdriver/common/devtools/v137/py.typed',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/devtools/v137/py.typed',
'DATA'),
('selenium/webdriver/common/linux/selenium-manager',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/linux/selenium-manager',
'DATA'),
('selenium/webdriver/common/devtools/v139/py.typed',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/selenium/webdriver/common/devtools/v139/py.typed',
'DATA'),
('PyQt5/Qt5/translations/qt_help_ko.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_ko.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_sl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_sl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_nn.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_nn.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_gd.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_gd.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_da.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_da.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_ca.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_ca.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_ru.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_ru.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_fr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_fr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_lt.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_lt.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_hr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_hr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_de.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_de.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_cs.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_cs.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_bg.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_bg.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_es.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_es.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_pt_BR.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_pt_BR.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_it.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_it.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_da.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_da.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_ja.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_ja.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_hr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_hr.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_ko.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_ko.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_bg.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_bg.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_cs.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_cs.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_nn.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_nn.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_lv.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_lv.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_uk.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_uk.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_hu.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_hu.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_pt_PT.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_pt_PT.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_gd.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_gd.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_gl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_gl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_pl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_pl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_ko.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_ko.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_it.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_it.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_pt_BR.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_pt_BR.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_ar.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_ar.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_zh_CN.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_zh_CN.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_pl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_pl.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_es.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_es.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_zh_CN.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_zh_CN.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_zh_CN.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_zh_CN.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_pt_BR.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_pt_BR.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_en.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_en.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_sl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_sl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_gl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_gl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_uk.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_uk.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_he.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_he.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_fa.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_fa.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_ja.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_ja.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_hr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_hr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_sk.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_sk.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_sk.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_sk.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_nn.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_nn.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_hu.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_hu.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_ru.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_ru.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_fr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_fr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_hu.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_hu.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_zh_TW.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_zh_TW.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_sv.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_sv.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_fr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_fr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_en.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_en.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_ca.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_ca.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_ru.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_ru.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_de.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_de.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_he.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_he.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_it.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_it.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_fi.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_fi.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_fa.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_fa.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_nl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_nl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_es.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_es.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_zh_TW.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_zh_TW.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_ar.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_ar.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_tr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_tr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_ca.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_ca.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_en.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_en.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_sk.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_sk.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_tr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_tr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_ar.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_ar.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_cs.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_cs.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_de.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_de.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_fi.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_fi.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_tr.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_tr.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_lv.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_lv.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_pl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_pl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_nl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_nl.qm',
'DATA'),
('PyQt5/Qt5/translations/qtbase_nl.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qtbase_nl.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_uk.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_uk.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_ja.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_ja.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_zh_TW.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_zh_TW.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_help_da.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_help_da.qm',
'DATA'),
('PyQt5/Qt5/translations/qt_bg.qm',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/translations/qt_bg.qm',
'DATA'),
('Python3', 'Python3.framework/Versions/3.9/Python3', 'SYMLINK'),
('h2-4.3.0.dist-info/top_level.txt',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/h2-4.3.0.dist-info/top_level.txt',
'DATA'),
('h2-4.3.0.dist-info/licenses/LICENSE',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/h2-4.3.0.dist-info/licenses/LICENSE',
'DATA'),
('h2-4.3.0.dist-info/INSTALLER',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/h2-4.3.0.dist-info/INSTALLER',
'DATA'),
('h2-4.3.0.dist-info/RECORD',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/h2-4.3.0.dist-info/RECORD',
'DATA'),
('h2-4.3.0.dist-info/WHEEL',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/h2-4.3.0.dist-info/WHEEL',
'DATA'),
('h2-4.3.0.dist-info/METADATA',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/h2-4.3.0.dist-info/METADATA',
'DATA'),
('base_library.zip',
'/Users/louismylle/Documents/OPTIMIZE/CLIENTS/Bernard Deswelgh/EBOEK.INFO '
'SCRAPER/build/EBoek_Scraper/base_library.zip',
'DATA'),
('QtGui', 'PyQt5/Qt5/lib/QtGui.framework/Versions/5/QtGui', 'SYMLINK'),
('QtCore', 'PyQt5/Qt5/lib/QtCore.framework/Versions/5/QtCore', 'SYMLINK'),
('QtDBus', 'PyQt5/Qt5/lib/QtDBus.framework/Versions/5/QtDBus', 'SYMLINK'),
('QtQmlModels',
'PyQt5/Qt5/lib/QtQmlModels.framework/Versions/5/QtQmlModels',
'SYMLINK'),
('QtQml', 'PyQt5/Qt5/lib/QtQml.framework/Versions/5/QtQml', 'SYMLINK'),
('QtNetwork',
'PyQt5/Qt5/lib/QtNetwork.framework/Versions/5/QtNetwork',
'SYMLINK'),
('QtQuick', 'PyQt5/Qt5/lib/QtQuick.framework/Versions/5/QtQuick', 'SYMLINK'),
('QtWebSockets',
'PyQt5/Qt5/lib/QtWebSockets.framework/Versions/5/QtWebSockets',
'SYMLINK'),
('QtSvg', 'PyQt5/Qt5/lib/QtSvg.framework/Versions/5/QtSvg', 'SYMLINK'),
('QtWidgets',
'PyQt5/Qt5/lib/QtWidgets.framework/Versions/5/QtWidgets',
'SYMLINK'),
('QtPrintSupport',
'PyQt5/Qt5/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport',
'SYMLINK'),
('PyQt5/Qt5/lib/QtCore.framework/QtCore',
'Versions/Current/QtCore',
'SYMLINK'),
('PyQt5/Qt5/lib/QtCore.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtCore.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtCore.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtCore.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtDBus.framework/QtDBus',
'Versions/Current/QtDBus',
'SYMLINK'),
('PyQt5/Qt5/lib/QtDBus.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtDBus.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtDBus.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtDBus.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtGui.framework/QtGui', 'Versions/Current/QtGui', 'SYMLINK'),
('PyQt5/Qt5/lib/QtGui.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtGui.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtGui.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtGui.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtNetwork.framework/QtNetwork',
'Versions/Current/QtNetwork',
'SYMLINK'),
('PyQt5/Qt5/lib/QtNetwork.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtNetwork.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtNetwork.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtNetwork.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtPrintSupport.framework/QtPrintSupport',
'Versions/Current/QtPrintSupport',
'SYMLINK'),
('PyQt5/Qt5/lib/QtPrintSupport.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtPrintSupport.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtPrintSupport.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtPrintSupport.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtQml.framework/QtQml', 'Versions/Current/QtQml', 'SYMLINK'),
('PyQt5/Qt5/lib/QtQml.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtQml.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtQml.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtQml.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtQmlModels.framework/QtQmlModels',
'Versions/Current/QtQmlModels',
'SYMLINK'),
('PyQt5/Qt5/lib/QtQmlModels.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtQmlModels.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtQmlModels.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtQmlModels.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtQuick.framework/QtQuick',
'Versions/Current/QtQuick',
'SYMLINK'),
('PyQt5/Qt5/lib/QtQuick.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtQuick.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtQuick.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtQuick.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtSvg.framework/QtSvg', 'Versions/Current/QtSvg', 'SYMLINK'),
('PyQt5/Qt5/lib/QtSvg.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtSvg.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtSvg.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtSvg.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtWebSockets.framework/QtWebSockets',
'Versions/Current/QtWebSockets',
'SYMLINK'),
('PyQt5/Qt5/lib/QtWebSockets.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtWebSockets.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtWebSockets.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtWebSockets.framework/Versions/Current', '5', 'SYMLINK'),
('PyQt5/Qt5/lib/QtWidgets.framework/QtWidgets',
'Versions/Current/QtWidgets',
'SYMLINK'),
('PyQt5/Qt5/lib/QtWidgets.framework/Resources',
'Versions/Current/Resources',
'SYMLINK'),
('PyQt5/Qt5/lib/QtWidgets.framework/Versions/5/Resources/Info.plist',
'/Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyQt5/Qt5/lib/QtWidgets.framework/Resources/Info.plist',
'DATA'),
('PyQt5/Qt5/lib/QtWidgets.framework/Versions/Current', '5', 'SYMLINK'),
('Python3.framework/Python3', 'Versions/Current/Python3', 'SYMLINK'),
('Python3.framework/Resources', 'Versions/Current/Resources', 'SYMLINK'),
('Python3.framework/Versions/3.9/Resources/Info.plist',
'/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Info.plist',
'DATA'),
('Python3.framework/Versions/Current', '3.9', 'SYMLINK')],
'Python3',
False,
False,
False,
[],
'arm64',
None,
None)

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,53 @@
This file lists modules PyInstaller was not able to find. This does not
necessarily mean this module is required for running your program. Python and
Python 3rd-party packages include a lot of conditional or optional modules. 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 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
tracking down the missing module yourself. Thanks!
missing module named 'org.python' - imported by copy (optional), xml.sax (delayed, conditional)
missing module named org - imported by pickle (optional)
missing module named nt - imported by shutil (conditional), importlib._bootstrap_external (conditional), ntpath (optional), pathlib (conditional), os (delayed, conditional, optional), ctypes (delayed, conditional)
missing module named pep517 - imported by importlib.metadata (delayed)
missing module named msvcrt - imported by subprocess (optional), getpass (optional), multiprocessing.spawn (delayed, conditional), multiprocessing.popen_spawn_win32 (top-level), asyncio.windows_events (top-level), asyncio.windows_utils (top-level)
missing module named winreg - imported by importlib._bootstrap_external (conditional), platform (delayed, optional), mimetypes (optional), urllib.request (delayed, conditional, optional), selenium.webdriver.firefox.firefox_binary (delayed, optional)
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), zipimport (top-level)
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional), zipimport (top-level)
missing module named _winapi - imported by encodings (delayed, conditional, optional), subprocess (optional), multiprocessing.connection (optional), multiprocessing.spawn (delayed, conditional), multiprocessing.reduction (conditional), multiprocessing.shared_memory (conditional), multiprocessing.heap (conditional), multiprocessing.popen_spawn_win32 (top-level), asyncio.windows_events (top-level), asyncio.windows_utils (top-level)
missing module named 'java.lang' - imported by platform (delayed, optional), xml.sax._exceptions (conditional)
missing module named multiprocessing.BufferTooShort - imported by multiprocessing (top-level), multiprocessing.connection (top-level)
missing module named multiprocessing.AuthenticationError - imported by multiprocessing (top-level), multiprocessing.connection (top-level)
missing module named multiprocessing.get_context - imported by multiprocessing (top-level), multiprocessing.pool (top-level), multiprocessing.managers (top-level), multiprocessing.sharedctypes (top-level)
missing module named multiprocessing.TimeoutError - imported by multiprocessing (top-level), multiprocessing.pool (top-level)
missing module named multiprocessing.set_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level)
missing module named multiprocessing.get_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level)
missing module named pyimod02_importers - imported by /Users/louismylle/Library/Python/3.9/lib/python/site-packages/PyInstaller/hooks/rthooks/pyi_rth_pkgutil.py (delayed)
missing module named 'pyodide.ffi' - imported by urllib3.contrib.emscripten.fetch (delayed, optional)
missing module named _overlapped - imported by asyncio.windows_events (top-level)
missing module named asyncio.DefaultEventLoopPolicy - imported by asyncio (delayed, conditional), asyncio.events (delayed, conditional)
missing module named annotationlib - imported by typing_extensions (conditional)
missing module named pyodide - imported by urllib3.contrib.emscripten.fetch (top-level)
missing module named js - imported by urllib3.contrib.emscripten.fetch (top-level)
missing module named 'typing.io' - imported by importlib.resources (top-level)
missing module named backports - imported by urllib3.util.request (conditional, optional), urllib3.response (conditional, optional)
missing module named compression - imported by urllib3.util.request (conditional, optional), urllib3.response (conditional, optional)
missing module named brotlicffi - imported by urllib3.util.request (optional), urllib3.response (optional)
missing module named vms_lib - imported by platform (delayed, optional)
missing module named java - imported by platform (delayed)
missing module named _winreg - imported by platform (delayed, optional), selenium.webdriver.firefox.firefox_binary (delayed, optional)
missing module named win_inet_pton - imported by socks (conditional, optional)
missing module named collections.Callable - imported by collections (optional), socks (optional)
missing module named wsaccel - imported by websocket._utils (optional)
missing module named 'python_socks.sync' - imported by websocket._http (optional)
missing module named 'python_socks._types' - imported by websocket._http (optional)
missing module named python_socks - imported by websocket._http (optional)
missing module named 'wsaccel.xormask' - imported by websocket._abnf (optional)

File diff suppressed because it is too large Load Diff

BIN
dist/EBoek_Scraper vendored Executable file

Binary file not shown.

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDisplayName</key>
<string>EBoek_Scraper</string>
<key>CFBundleExecutable</key>
<string>EBoek_Scraper</string>
<key>CFBundleIconFile</key>
<string>icon-windowed.icns</string>
<key>CFBundleIdentifier</key>
<string>EBoek_Scraper</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>EBoek_Scraper</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.0.0</string>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Resources/icon-windowed.icns</key>
<data>
eEHOuYpZLB0vKGVIWGZOh5rH8+o=
</data>
</dict>
<key>files2</key>
<dict>
<key>Resources/icon-windowed.icns</key>
<dict>
<key>hash2</key>
<data>
uQo7VuWRab4Phv4EEGmfQsyqFqDIXZgO8OtgaAMvCzY=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>

160
docs/BUILD_GUIDE.md Normal file
View File

@@ -0,0 +1,160 @@
# 🏗️ Build Guide - Creating Executable Files
This guide explains how to compile the EBoek.info Scraper into standalone executable files for distribution.
## 📦 What You'll Get
- **Single executable file** (~30MB) containing everything needed
- **No Python installation required** on target machines
- **All dependencies bundled** (PyQt5, Selenium, etc.)
- **Cross-platform support** (Windows .exe, macOS app, Linux binary)
## 🚀 Quick Build
### Option 1: Python Build Script (Recommended)
```bash
# Cross-platform automated build
python3 build_executable.py
```
### Option 2: Platform-Specific Scripts
**Windows:**
```cmd
build_exe.bat
```
**macOS/Linux:**
```bash
./build_exe.sh
```
### Option 3: Manual PyInstaller
```bash
# Install PyInstaller
python3 -m pip install pyinstaller
# Build executable
python3 -m PyInstaller --onefile --windowed --name "EBoek_Scraper" gui_main.py
```
## 📋 Prerequisites
- **Python 3.8+** with all project dependencies installed
- **PyInstaller 6.0+** (auto-installed by build scripts)
- **All project requirements** (`pip install -r requirements.txt`)
## 🔧 Build Process Details
### What Happens During Build:
1. **Dependency Analysis** - PyInstaller scans all imports
2. **Code Compilation** - Python code compiled to bytecode
3. **Library Bundling** - All dependencies packaged together
4. **Executable Creation** - Single-file output with launcher
### Hidden Imports (Automatically Included):
- **PyQt5** modules (QtCore, QtGui, QtWidgets)
- **Selenium** webdriver components
- **Project modules** (core/, gui/, utils/)
### Excluded Modules (Size Optimization):
- tkinter, matplotlib, numpy, pandas (not needed)
## 📊 Build Results
| Platform | Executable | Size | Location |
|----------|------------|------|----------|
| **Windows** | `EBoek_Scraper.exe` | ~30MB | `dist/` |
| **macOS** | `EBoek_Scraper.app` | ~30MB | `dist/` |
| **Linux** | `EBoek_Scraper` | ~30MB | `dist/` |
## 🚀 Distribution
### What to Share:
- **Single file**: The executable from `dist/` folder
- **No additional files needed** - everything is bundled
### First Run Instructions:
**Windows Users:**
1. Run `EBoek_Scraper.exe`
2. If Windows shows security warning:
- Click "More Info"
- Click "Run Anyway"
3. This only happens on first run
**macOS Users:**
1. Run `EBoek_Scraper.app` or `EBoek_Scraper`
2. If macOS shows security warning:
- Right-click the file
- Select "Open"
- Click "Open" in dialog
3. This only happens on first run
**Linux Users:**
1. Make executable: `chmod +x EBoek_Scraper`
2. Run: `./EBoek_Scraper`
## 🛠️ Advanced Build Options
### Custom Spec File Build:
```bash
# Use custom spec file for advanced configuration
python3 -m PyInstaller eboek_scraper.spec
```
### Debug Build:
```bash
# Build with console window for debugging
python3 -m PyInstaller --onefile --console gui_main.py
```
### Directory Build (Faster startup):
```bash
# Build as directory instead of single file
python3 -m PyInstaller --onedir --windowed gui_main.py
```
## 🐛 Troubleshooting
### Build Fails:
1. **Check Python version**: Must be 3.8+
2. **Update PyInstaller**: `pip install --upgrade pyinstaller`
3. **Check dependencies**: `pip install -r requirements.txt`
4. **Try spec file**: `python3 -m PyInstaller eboek_scraper.spec`
### Executable Won't Run:
1. **Check Chrome installation** on target machine
2. **Antivirus interference** - add exception for scraper
3. **Missing Visual C++ Redistributable** (Windows only)
### Large File Size:
1. **Expected behavior** - includes Python + PyQt5 + Selenium
2. **Alternative**: Use `--onedir` for faster startup
3. **Size breakdown**: Python(~15MB) + PyQt5(~10MB) + Selenium(~5MB)
## 📈 Performance Notes
- **Startup time**: 2-3 seconds (cold start)
- **Memory usage**: Similar to Python version
- **Chrome requirement**: Still needs Chrome browser installed
- **No performance penalty** once running
## 🔄 Updating Builds
When you update the source code:
1. **Re-run build process** to create new executable
2. **Version number** - consider adding to filename
3. **Distribution** - replace old executable with new one
## 💡 Tips
- **Test executable** on clean system before distribution
- **Keep source code** - executable is not easily reverse-engineered
- **Build on target OS** - Windows builds work best on Windows, etc.
- **Sign executables** (optional) to reduce security warnings
---
**Happy building! 🚀**

View File

@@ -1,3 +1,4 @@
selenium>=4.0
urllib3>=1.26
PyQt5>=5.15.0
pyinstaller>=6.0

79
scripts/build_exe.bat Normal file
View File

@@ -0,0 +1,79 @@
@echo off
REM Build script for EBoek.info Scraper Windows executable
REM Run this script to compile the application into a standalone .exe file
echo =====================================
echo Building EBoek.info Scraper
echo =====================================
echo.
REM Check if PyInstaller is installed
python -c "import PyInstaller" 2>nul
if errorlevel 1 (
echo Installing PyInstaller...
python -m pip install pyinstaller
echo.
)
REM Clean previous builds
if exist "dist" rmdir /s /q "dist"
if exist "build" rmdir /s /q "build"
echo Cleaned previous builds
echo.
REM Option 1: Quick build (single file executable)
echo Building single-file executable...
echo This may take a few minutes...
echo.
pyinstaller --onefile --windowed --name "EBoek_Scraper" ^
--hidden-import "PyQt5.QtCore" ^
--hidden-import "PyQt5.QtGui" ^
--hidden-import "PyQt5.QtWidgets" ^
--hidden-import "selenium" ^
--hidden-import "selenium.webdriver" ^
--hidden-import "selenium.webdriver.chrome" ^
--hidden-import "core.scraper" ^
--hidden-import "core.scraper_thread" ^
--hidden-import "core.credentials" ^
--hidden-import "gui.main_window" ^
--hidden-import "gui.login_dialog" ^
--hidden-import "gui.progress_dialog" ^
--hidden-import "utils.validators" ^
--exclude-module "tkinter" ^
--exclude-module "matplotlib" ^
..\gui_main.py
if errorlevel 1 (
echo.
echo BUILD FAILED! Trying alternative method...
echo.
REM Option 2: Use spec file
echo Building with spec file...
pyinstaller eboek_scraper.spec
if errorlevel 1 (
echo BUILD FAILED!
echo Please check the error messages above.
pause
exit /b 1
)
)
echo.
echo =====================================
echo BUILD SUCCESSFUL!
echo =====================================
echo.
echo Your executable is located at:
echo dist\EBoek_Scraper.exe
echo.
echo File size:
dir /b "dist\EBoek_Scraper.exe" | find /v "EBoek_Scraper.exe" || echo Not found
for %%f in ("dist\EBoek_Scraper.exe") do echo %%~zf bytes
echo.
echo You can now distribute this single file!
echo Note: Windows may show a security warning on first run.
echo.
pause

96
scripts/build_exe.sh Executable file
View File

@@ -0,0 +1,96 @@
#!/bin/bash
# Build script for EBoek.info Scraper executable
# Run this script to compile the application into a standalone executable
echo "====================================="
echo "Building EBoek.info Scraper"
echo "====================================="
echo
# Check if PyInstaller is installed
python3 -c "import PyInstaller" 2>/dev/null
if [ $? -ne 0 ]; then
echo "Installing PyInstaller..."
python3 -m pip install pyinstaller
echo
fi
# Clean previous builds
if [ -d "dist" ]; then
rm -rf "dist"
fi
if [ -d "build" ]; then
rm -rf "build"
fi
echo "Cleaned previous builds"
echo
# Option 1: Quick build (single file executable)
echo "Building single-file executable..."
echo "This may take a few minutes..."
echo
python3 -m PyInstaller --onefile --windowed --name "EBoek_Scraper" \
--hidden-import "PyQt5.QtCore" \
--hidden-import "PyQt5.QtGui" \
--hidden-import "PyQt5.QtWidgets" \
--hidden-import "selenium" \
--hidden-import "selenium.webdriver" \
--hidden-import "selenium.webdriver.chrome" \
--hidden-import "core.scraper" \
--hidden-import "core.scraper_thread" \
--hidden-import "core.credentials" \
--hidden-import "gui.main_window" \
--hidden-import "gui.login_dialog" \
--hidden-import "gui.progress_dialog" \
--hidden-import "utils.validators" \
--exclude-module "tkinter" \
--exclude-module "matplotlib" \
../gui_main.py
if [ $? -ne 0 ]; then
echo
echo "BUILD FAILED! Trying alternative method..."
echo
# Option 2: Use spec file
echo "Building with spec file..."
python3 -m PyInstaller eboek_scraper.spec
if [ $? -ne 0 ]; then
echo "BUILD FAILED!"
echo "Please check the error messages above."
exit 1
fi
fi
echo
echo "====================================="
echo "BUILD SUCCESSFUL!"
echo "====================================="
echo
# Check which executable was created
if [ -f "dist/EBoek_Scraper" ]; then
EXECUTABLE="dist/EBoek_Scraper"
echo "Your executable is located at: $EXECUTABLE"
echo
echo "File size: $(du -h "$EXECUTABLE" | cut -f1)"
echo
echo "To run: ./$EXECUTABLE"
elif [ -f "dist/EBoek_Scraper.exe" ]; then
EXECUTABLE="dist/EBoek_Scraper.exe"
echo "Your executable is located at: $EXECUTABLE"
echo
echo "File size: $(du -h "$EXECUTABLE" | cut -f1)"
echo
echo "To run: ./$EXECUTABLE"
else
echo "Error: Could not find built executable!"
exit 1
fi
echo
echo "You can now distribute this single file!"
echo "Note: macOS may show a security warning on first run."
echo "Right-click and select 'Open' to bypass Gatekeeper."

172
scripts/build_executable.py Normal file
View File

@@ -0,0 +1,172 @@
#!/usr/bin/env python3
"""
Cross-platform build script for EBoek.info Scraper
Creates a standalone executable using PyInstaller
"""
import os
import sys
import subprocess
import shutil
from pathlib import Path
def run_command(command, description):
"""Run a command and handle errors."""
print(f"{description}...")
try:
result = subprocess.run(command, shell=True, capture_output=True, text=True)
if result.returncode != 0:
print(f"✗ Error: {result.stderr}")
return False
if result.stdout.strip():
print(f" {result.stdout.strip()}")
return True
except Exception as e:
print(f"✗ Exception: {e}")
return False
def main():
"""Main build process."""
print("=" * 50)
print("🚀 EBoek.info Scraper - Executable Builder")
print("=" * 50)
print()
# Change to project root directory (parent of scripts/)
script_dir = Path(__file__).parent
project_root = script_dir.parent
os.chdir(project_root)
print(f"📂 Working from: {project_root}")
print()
# Check Python version
if sys.version_info < (3, 8):
print("✗ Error: Python 3.8+ required")
sys.exit(1)
# Check if PyInstaller is installed
try:
import PyInstaller
print(f"✓ PyInstaller {PyInstaller.__version__} found")
except ImportError:
print("→ Installing PyInstaller...")
if not run_command(f"{sys.executable} -m pip install pyinstaller", "Installing PyInstaller"):
print("✗ Failed to install PyInstaller")
sys.exit(1)
# Clean previous builds
print()
for directory in ["dist", "build"]:
if Path(directory).exists():
shutil.rmtree(directory)
print(f"✓ Cleaned {directory}/")
# Determine platform-specific settings
is_windows = sys.platform.startswith('win')
exe_name = "EBoek_Scraper.exe" if is_windows else "EBoek_Scraper"
# Build command
build_cmd = [
f"{sys.executable}", "-m", "PyInstaller",
"--onefile",
"--windowed",
"--name", "EBoek_Scraper",
# Hidden imports for PyQt5
"--hidden-import", "PyQt5.QtCore",
"--hidden-import", "PyQt5.QtGui",
"--hidden-import", "PyQt5.QtWidgets",
# Hidden imports for Selenium
"--hidden-import", "selenium",
"--hidden-import", "selenium.webdriver",
"--hidden-import", "selenium.webdriver.chrome",
"--hidden-import", "selenium.webdriver.chrome.options",
"--hidden-import", "selenium.webdriver.common.by",
# Hidden imports for our modules
"--hidden-import", "core.scraper",
"--hidden-import", "core.scraper_thread",
"--hidden-import", "core.credentials",
"--hidden-import", "gui.main_window",
"--hidden-import", "gui.login_dialog",
"--hidden-import", "gui.progress_dialog",
"--hidden-import", "utils.validators",
# Exclude unnecessary modules to reduce size
"--exclude-module", "tkinter",
"--exclude-module", "matplotlib",
"--exclude-module", "numpy",
"--exclude-module", "pandas",
# Main script
"gui_main.py"
]
print()
print("🔨 Building executable...")
print("📝 This may take a few minutes...")
print()
# Run PyInstaller
try:
result = subprocess.run(build_cmd, capture_output=True, text=True)
if result.returncode != 0:
print("✗ Build failed!")
print("Error output:")
print(result.stderr)
# Try fallback with spec file
print()
print("🔄 Trying alternative build with spec file...")
spec_cmd = [f"{sys.executable}", "-m", "PyInstaller", "scripts/eboek_scraper.spec"]
result = subprocess.run(spec_cmd, capture_output=True, text=True)
if result.returncode != 0:
print("✗ Alternative build also failed!")
print(result.stderr)
sys.exit(1)
print("✓ Build completed successfully!")
except Exception as e:
print(f"✗ Build failed with exception: {e}")
sys.exit(1)
# Check if executable was created
exe_path = Path("dist") / exe_name
if not exe_path.exists():
print(f"✗ Error: Executable not found at {exe_path}")
sys.exit(1)
# Display results
file_size = exe_path.stat().st_size / (1024 * 1024) # MB
print()
print("=" * 50)
print("🎉 BUILD SUCCESSFUL!")
print("=" * 50)
print(f"📂 Executable location: {exe_path}")
print(f"📊 File size: {file_size:.1f} MB")
print()
# Platform-specific instructions
if is_windows:
print("🪟 Windows Instructions:")
print(f" • Run: {exe_path}")
print(" • Windows may show security warning on first run")
print(" • Click 'More Info''Run Anyway' if prompted")
else:
print("🍎 macOS/Linux Instructions:")
print(f" • Run: ./{exe_path}")
print(" • macOS may show security warning on first run")
print(" • Right-click and select 'Open' to bypass Gatekeeper")
print()
print("📦 Distribution:")
print(f" • Share this single file: {exe_name}")
print(" • No Python installation required on target machine")
print(" • Includes all dependencies (PyQt5, Selenium, etc.)")
print()
print("✨ Ready for distribution!")
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,44 @@
# -*- mode: python ; coding: utf-8 -*-
a = Analysis(
['../gui_main.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=['PyQt5.QtCore', 'PyQt5.QtGui', 'PyQt5.QtWidgets', 'selenium', 'selenium.webdriver', 'selenium.webdriver.chrome', 'selenium.webdriver.chrome.options', 'selenium.webdriver.common.by', 'core.scraper', 'core.scraper_thread', 'core.credentials', 'gui.main_window', 'gui.login_dialog', 'gui.progress_dialog', 'utils.validators'],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=['tkinter', 'matplotlib', 'numpy', 'pandas'],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
[],
name='EBoek_Scraper',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)
app = BUNDLE(
exe,
name='EBoek_Scraper.app',
icon=None,
bundle_identifier=None,
)

View File

@@ -21,7 +21,7 @@ for /f "tokens=2" %%i in ('python --version') do set PYTHON_VERSION=%%i
echo Python version: %PYTHON_VERSION%
REM Check if this is the first run
if exist "gui_main.py" (
if exist "..\gui_main.py" (
echo GUI application already set up.
echo.
goto :run_gui
@@ -53,10 +53,10 @@ echo Installation complete!
echo ===============================================
:run_gui
if exist "gui_main.py" (
if exist "..\gui_main.py" (
echo Starting EBoek.info Scraper GUI...
echo.
python gui_main.py
python ..\gui_main.py
if %errorlevel% neq 0 (
echo.
echo GUI failed to start. You can still use the terminal version:

View File

@@ -72,7 +72,7 @@ if ! $PYTHON_CMD -m pip --version >/dev/null 2>&1; then
fi
# Check if GUI is already set up
if [ -f "gui_main.py" ]; then
if [ -f "../gui_main.py" ]; then
echo "GUI application already set up."
echo
else
@@ -132,10 +132,10 @@ echo "Installation complete!"
echo "==============================================="
# Run the GUI application
if [ -f "gui_main.py" ]; then
if [ -f "../gui_main.py" ]; then
echo "Starting EBoek.info Scraper GUI..."
echo
if ! $PYTHON_CMD gui_main.py; then
if ! $PYTHON_CMD ../gui_main.py; then
echo
echo "GUI failed to start. You can still use the terminal version:"
echo "$PYTHON_CMD main.py"