Sfoglia il codice sorgente

add readme and screenshot

Jesse Strickland 1 mese fa
parent
commit
96b5ea3287
2 ha cambiato i file con 68 aggiunte e 0 eliminazioni
  1. 68 0
      README.md
  2. BIN
      screenshot.png

+ 68 - 0
README.md

@@ -0,0 +1,68 @@
+# Generic File Archiver
+
+A simple Python GUI tool for safely archiving files from a source folder to an external drive or destination folder.  
+
+The program is designed for workflows where files accumulate in a local directory and need to be transferred, verified, and deleted to free up space — while keeping an organized archive with integrity checks and logs.
+
+---
+
+![](screenshot.png)
+
+## Features
+
+- **Automatic file discovery**
+  - Scans a configured source folder for files matching a configurable set of extensions.
+
+- **Flexible destination selection**  
+  - Detects external drives (USB, removable, or fixed).  
+  - Allows manual selection of any folder as a destination.  
+
+- **Structured archiving**  
+  - Files are copied into an archive root with the following structure:
+    - `<destination>\Archive\YYYY\YYYY-MM-DD<filename.ext>`
+    - Based on the file’s last modified date.
+
+- **Data integrity verification**  
+  - MD5 hash calculated before transfer.  
+  - MD5 hash verified after transfer.  
+  - Source file only deleted after a successful verification.  
+  - Duplicate detection: identical files already in destination are skipped with deletion of the source.
+- **Progress feedback**  
+  - Per-file progress bar.  
+  - Overall progress bar.  
+  - Real-time log messages in the GUI.
+- **Logging**  
+  - Rotating log file (`archiver.log`) saved in the working directory.  
+  - Includes timestamps, transfer status, errors, and integrity results.
+- **Persistent settings via INI**  
+  - Saves source folder, destination folder/drive, and file extensions in `archiver.ini` after first successful configuration.
+
+---
+
+## Usage
+
+### Requirements
+- Python 3.8+  
+- Windows (tested), but should work on Linux/macOS with minor (if any) adjustments.
+
+### Running
+```bash
+python sermon_archiver.py
+```
+
+---
+
+### Changing the File Extensions
+
+The list of extensions that the archiver looks for is stored in the `archiver.ini` file under the `extensions` key.  
+
+If the file doesn't exist in the same directory as the Python script, it will be created when you use the program for the first time and adjust any setting. You can also manually create the `archiver.ini` file ahead of time and it will read from that.
+
+For example:
+
+```ini
+[settings]
+source_dir=C:\Recordings
+dest_dir=E:\
+extensions=.mp4,.mov,.avi,.mp3,.wav
+

BIN
screenshot.png