Update readme
This commit is contained in:
parent
735081db41
commit
6321b16510
86
README.md
86
README.md
@ -1,42 +1,64 @@
|
|||||||
# musipy
|
# musipy
|
||||||
|
|
||||||
## Usage
|
A tool to organize your music files.
|
||||||
|
|
||||||
python musipy.py -s source/dir/ -o output/dir/ -attr attribute -m sort
|
|
||||||
|
|
||||||
### -s, --source=
|
|
||||||
|
|
||||||
The source directory to scan for files, default to current directory when you run this script
|
|
||||||
|
|
||||||
### -o, --output=
|
|
||||||
|
|
||||||
The output directory, default to source/dir/output
|
|
||||||
|
|
||||||
### -attr, --attribute=
|
|
||||||
|
|
||||||
The attribute to use when sort, this could either be 'genre' or 'album'
|
|
||||||
|
|
||||||
### -m, --mode=
|
|
||||||
|
|
||||||
The mode to use, currently only 'sort' and 'playlist' is able to use. In future update:
|
|
||||||
|
|
||||||
+ [X] 'sort' for sorting files in source/dir by attribute
|
|
||||||
+ [ ] 'backup' for backing up files structure in a source/dir
|
|
||||||
+ [ ] 'restore' for restoring files in source/dir to a backup flash
|
|
||||||
+ [ ] 'rename' for rename multiple files names (Track1.mp3, Track2.mp3... or similar) using a file input of Titles, Artist, Genre, Album, Disk
|
|
||||||
+ [X] 'playlist' for creating playlist file by any config in source/dir
|
|
||||||
|
|
||||||
#### PLay list configuration
|
|
||||||
|
|
||||||
When the playlist mode is chosen, you will need to provide the name of the output file through `--playlistname`. The place of the playlist will be at sourcedir, which is 'current working directory' by default.
|
|
||||||
|
|
||||||
## Why I create this
|
## Why I create this
|
||||||
|
|
||||||
I have a very big folder of files, and searching through files is hard for me, also, the structure when I first place them in is hard to navigate. I want to create a script to move files using tag and organize them. And create a playlist with the options I prefer.
|
I have a very big folder of music files, and searching through files is hard for me, also, the placement was hard to navigate. I want to create a script to move files using tag and organize them.
|
||||||
|
|
||||||
## When will I deploy?
|
Then comes a few more use case.
|
||||||
|
|
||||||
I do not know, I just create for myself. Hosting on Git is to keep my project organized, and hope to get some collaborators.
|
## Usage
|
||||||
|
|
||||||
|
```sh
|
||||||
|
python run.py --help
|
||||||
|
|
||||||
|
Usage: run.py [OPTIONS] COMMAND [ARGS]...
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--help Show this message and exit.
|
||||||
|
|
||||||
|
Commands:
|
||||||
|
format
|
||||||
|
playlist
|
||||||
|
sort
|
||||||
|
```
|
||||||
|
|
||||||
|
### Sort
|
||||||
|
|
||||||
|
Take all files in `src` arrange them by `attr` and move the files to `dst/attr`. I currently use this to re-arrange my files by album.
|
||||||
|
|
||||||
|
### Playlist
|
||||||
|
|
||||||
|
Take all files in `src` by `attr` and output a `m3u` playlist file. I use VLC to open `m3u`, a request for another format is always helpful, just ping me a request.
|
||||||
|
|
||||||
|
### Format
|
||||||
|
|
||||||
|
/// Not implement yet
|
||||||
|
|
||||||
|
Rename the files in `src` and follow the format `fmt`.
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
### The command line - core
|
||||||
|
|
||||||
|
Using 2 foreign library `click` to handle CLI commands; `TinyTag` to parse info from music files. Then the arguments are passed to `CommandHandler` to validate the argument. After that, arguments are taken to `CommandExecutioner` specific class to handle the job.
|
||||||
|
|
||||||
|
### The GUI
|
||||||
|
|
||||||
|
Hopefully in the future updates. Provide basic GUI to select task, set arguments and make a call to core.
|
||||||
|
|
||||||
|
### Testing
|
||||||
|
|
||||||
|
Right now just plain testing is being done.
|
||||||
|
|
||||||
|
### Coding guidelines
|
||||||
|
|
||||||
|
I work on python3 with flake8 and mypy for linting.
|
||||||
|
|
||||||
|
### Bug and feature request
|
||||||
|
|
||||||
|
Just open a new issue.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user