2.2 KiB
2.2 KiB
Exportify to TuneMyMusic Converter (ett)
A Rust CLI tool to convert Spotify playlist CSV exports from Exportify to TuneMyMusic CSV format.
Features
- Convert CSV files from Exportify format to TuneMyMusic format
- Process single files or entire directories of CSV files
- Automatically detects when a directory is provided as input
- Detailed validation and statistics reporting
Build from Source
-
Clone this repository:
git clone <repository-url> cd exportify-to-tunemusic
-
Build the project:
cargo build --release
-
The binary will be available at
target/release/ett
Usage
Single File Processing
Convert a single Exportify CSV file to TuneMyMusic format:
ett [INPUT_FILE] [OUTPUT_FILE]
Where:
[INPUT_FILE]
is the path to your Exportify CSV file (defaults toexportify.csv
)[OUTPUT_FILE]
is the path where the converted file will be saved (defaults toconverted_tunemymusic.csv
)
Example:
ett my_playlist.csv tunemymusic_output.csv
Directory Processing
Process all CSV files in a directory:
ett --dir [INPUT_DIRECTORY] [OUTPUT_DIRECTORY]
or using the short flag:
ett -d [INPUT_DIRECTORY] [OUTPUT_DIRECTORY]
Where:
[INPUT_DIRECTORY]
is the directory containing Exportify CSV files[OUTPUT_DIRECTORY]
is the directory where converted files will be saved
Example:
ett --dir ~/Downloads/playlists ~/converted_playlists
Note: You can also omit the --dir
flag - the tool will automatically detect if the input is a directory:
ett ~/Downloads/playlists ~/converted_playlists
Options
-d, --dir
: Process all CSV files in a directory-h, --help
: Show help message-V, --version
: Show version information
Output Format
The output file will have the following columns, exactly matching TuneMyMusic's import format:
- Track name
- Artist name
- Album
- Playlist name
- Type
- ISRC
- Spotify - id
Dependencies
This project uses the following crates:
csv
: For CSV reading and writingserde
: For serialization/deserialization of CSV recordsclap
: For command-line argument parsing with a modern API
License
MIT