FCDJ - File Cloner DJPools Detector 0.1 by DJ PD
Overview
FCDJ is a script designed to detect pairs of files within a specified music library. It identifies clean and dirty versions of the same track based on user-defined conditions and can optionally remove the identified files.
Features
Parallel Processing: Utilizes multi-threading or multi-processing for efficient file processing.
Configurable: Easily configurable through a dedicated configuration file (config.cfg).
Logging: Provides logging functionality to record operations and results.
Prerequisites
Python 3.7 or higher
Installation
Clone the repository:
Copy code
git clone https://github.com/djpd/fcdj.git
cd fcdj
Install the required packages:
pip install -r requirements.txt
Usage
python fcdj.py -config config.cfg
Command-line Arguments
-base: Specify the base folder for searching (optional).
-output: Specify the output file to store valid pairs (optional).
-config: Specify the path to the config file (required).
-help: Show the help message.
Configuration (config.cfg)
The configuration file allows you to customize the behavior of the script.
[GENERAL]
use_threadorpoolexecutor: Use multi-threading or multi-processing. Set to true for multi-threading, false for multi-processing.
buffer_size: Number of file pairs to buffer during processing.
remove: Enable/disable file removal based on conditions.
autoremove: Automatically remove files without user confirmation.
log: Enable/disable logging.
[BASE]
path: Path to the base folder containing the music library.
[OUTPUT]
output_file: Path to the output file to store valid pairs.
[PAIR1], [PAIR2], ...
clean_condition: Clean file identifier condition.
dirty_condition: Dirty file identifier condition.
[WHATAUTOREMOVE]
Specify conditions for files to be automatically removed.
[LOG]
log_file: Path to the log file.
Examples
For detailed examples, refer to the provided config.cfg file.
License
This project is licensed under the MIT License.
Author
DJPD
requirements.txt
tqdm==4.62.3