|
1 | | -🔍 Revision Auditor |
2 | | -Revision Auditor is a standalone, Python-based desktop automation tool for tracking document revisions in manufacturing workflows. It audits Excel-based document lists against a Laserfiche web database to automatically detect updated or missing files. |
3 | | - |
4 | | -It replaces legacy VBA macros with a robust Playwright automation engine, wrapped in a modern PyQt6 floating dashboard. It is designed to run daily audits for multiple product lines (Kinnex & Quattro) simultaneously. |
5 | | - |
6 | | -✨ Features |
7 | | -🤖 Automated Web Scanning: Uses a headless Chromium browser to rapidly check hyperlinks. It intelligently detects "Entry Not Found" or "404" errors to identify revision changes. |
8 | | - |
9 | | -🖥️ Floating Dashboard: A compact, "Always-on-Top" control panel allows users to start or abort audits without losing focus on the browser window. |
10 | | - |
11 | | -📊 Batch Processing: Audits multiple product lines (Kinnex and Quattro) in a single session with a single login. |
12 | | - |
13 | | -📑 Smart Reporting: |
14 | | - |
15 | | -Highlighting: Automatically highlights dead links (new revisions) in Yellow. |
16 | | - |
17 | | -Cleanup: Removes clickable hyperlinks and resets text formatting for a clean report. |
18 | | - |
19 | | -Timestamping: Stamps the exact date and time of the audit on the final report. |
20 | | - |
21 | | -🛡️ Safe & Robust: |
22 | | - |
23 | | -Abort Function: Immediate "Kill Switch" to stop the process safely if the user needs to interrupt. |
24 | | - |
25 | | -System Core Protection: Browser binaries are hidden in a protected system folder to prevent accidental deletion by end-users. |
26 | | - |
27 | | -🛠️ Tech Stack |
28 | | -Language: Python 3.13+ |
29 | | - |
30 | | -Automation: Playwright (Browser Engine) |
31 | | - |
32 | | -GUI: PyQt6 (Floating Dashboard) |
33 | | - |
34 | | -Data: OpenPyXL (Excel Read/Write) |
35 | | - |
36 | | -Build: PyInstaller (Compiled to standalone .exe) |
37 | | - |
38 | | -🚀 How to Install & Build |
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | +# RevisionAuditor |
| 8 | + |
| 9 | +A standalone, Python-based desktop automation tool for tracking document revisions in manufacturing workflows. It audits Excel-based document lists against a Laserfiche web database to automatically detect updated or missing files. |
| 10 | + |
| 11 | +It replaces legacy VBA macros with a robust Playwright automation engine, wrapped in a modern PyQt6 floating dashboard. It is designed to run daily audits for multiple product lines simultaneously. |
| 12 | + |
| 13 | +## 📸 Preview |
| 14 | +<img src="dashboard_preview.png" width="600" alt="RevisionAuditor Dashboard"> |
| 15 | + |
| 16 | +## ✨ Features |
| 17 | +* **🤖 Automated Web Scanning:** Uses a headless Chromium browser to rapidly check hyperlinks and detect "Entry Not Found" or "404" errors. |
| 18 | +* **🖥️ Floating Dashboard:** A compact, "Always-on-Top" control panel allows users to start or abort audits without losing focus. |
| 19 | +* **📊 Batch Processing:** Audits multiple product lines (Kinnex and Quattro) in a single session with a single login. |
| 20 | +* **📑 Smart Reporting:** |
| 21 | + * **Highlighting:** Automatically highlights dead links in Yellow. |
| 22 | + * **Cleanup:** Removes clickable hyperlinks and resets text formatting for a clean report. |
| 23 | + * **Timestamping:** Stamps the exact date and time of the audit. |
| 24 | +* **🛡️ Safe & Robust:** Features an immediate "Kill Switch" and protects browser binaries in a hidden system folder. |
| 25 | + |
| 26 | +## 🛠️ Tech Stack |
| 27 | +* **Language:** Python 3.13+ |
| 28 | +* **Automation:** Playwright (Browser Engine) |
| 29 | +* **GUI:** PyQt6 (Floating Dashboard) |
| 30 | +* **Data:** OpenPyXL (Excel Read/Write) |
| 31 | +* **Build:** PyInstaller (Compiled to standalone .exe) |
| 32 | + |
| 33 | +## 🚀 Installation & Build |
39 | 34 | Because this app relies on a specific browser engine and local Excel files, it must be built correctly to run on other machines. |
40 | 35 |
|
41 | | -1. Prerequisites & Dependencies |
42 | | -System Requirement: Python 3.x installed. |
43 | | - |
44 | | -Project Dependencies: |
45 | | - |
46 | | -Bash |
47 | | - |
| 36 | +### 1. Prerequisites |
| 37 | +```bash |
48 | 38 | pip install playwright PyQt6 openpyxl pyinstaller |
49 | 39 | playwright install chromium |
50 | | -2. Building the Executable |
51 | | -To compile the app into a standalone .exe that hides the console window: |
52 | | - |
53 | | -Bash |
| 40 | +``` |
54 | 41 |
|
| 42 | +### 2. Building the Executable |
| 43 | +To compile the app into a standalone .exe: |
| 44 | +```bash |
55 | 45 | pyinstaller --noconfirm --onefile --noconsole --name "RevisionAuditor" --clean "audit_gui.py" |
56 | | -3. Deployment Structure |
57 | | -For the application to function on a network drive or another computer, the folder structure must look like this: |
58 | | - |
59 | | -📂 RevisionAuditor Folder |
60 | | - |
61 | | -📄 RevisionAuditor.exe (The compiled app) |
62 | | - |
63 | | -📄 Kinnex Revision Source.xlsx (Input data) |
| 46 | +``` |
64 | 47 |
|
65 | | -📄 Quattro Revision Source.xlsx (Input data) |
| 48 | +## 📂 Deployment Structure |
| 49 | +For the application to function correctly, the folder structure must be maintained: |
| 50 | +* `RevisionAuditor.exe` (The compiled app) |
| 51 | +* `Kinnex Revision Source.xlsx` (Input data) |
| 52 | +* `Quattro Revision Source.xlsx` (Input data) |
| 53 | +* `_sys_core/` (Contains Chromium browser binaries) |
66 | 54 |
|
67 | | -📁 _sys_core (Contains the Chromium browser binaries) |
| 55 | +## 👤 Author |
| 56 | +**Jason Sparks** - [GitHub Profile](https://github.com/webdev-jason) |
68 | 57 |
|
69 | | -> Note: The _sys_core folder is simply the renamed browsers folder generated by Playwright. It should be set to "Hidden" in Windows Properties to prevent user tampering. |
| 58 | +## 📄 License |
| 59 | +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
0 commit comments