Žiadny popis

Jesse Strickland 386127cfe0 formatting and one typo in readme 1 mesiac pred
README.md 386127cfe0 formatting and one typo in readme 1 mesiac pred
archiver.ini d7d15bbc42 initial commit 1 mesiac pred
data_archiver.py d7d15bbc42 initial commit 1 mesiac pred
screenshot.png 96b5ea3287 add readme and screenshot 1 mesiac pred

README.md

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.


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

python data_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:

[settings]
source_dir=C:\Recordings
dest_dir=E:\
extensions=.mp4,.mov,.avi,.mp3,.wav