Skip to content

djpd/FCDJ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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