mirror of
https://github.com/SinTan1729/movie-rename.git
synced 2024-12-27 04:38:35 -06:00
Improved arguments handling
This commit is contained in:
parent
3b76f470cd
commit
26eb446de8
6 changed files with 26 additions and 11 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -738,7 +738,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "movie-rename"
|
name = "movie-rename"
|
||||||
version = "1.2.0"
|
version = "1.2.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"inquire",
|
"inquire",
|
||||||
"load_file",
|
"load_file",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "movie-rename"
|
name = "movie-rename"
|
||||||
version = "1.2.0"
|
version = "1.2.1"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
|
@ -13,11 +13,15 @@ Install from [AUR](https://aur.archlinux.org/packages/movie-rename), my personal
|
||||||
- The expected syntax is:
|
- The expected syntax is:
|
||||||
|
|
||||||
`movie-rename <filename(s)> [-n|--dry-run] [-d|--directory] [-h|--help] [-v|--version]`
|
`movie-rename <filename(s)> [-n|--dry-run] [-d|--directory] [-h|--help] [-v|--version]`
|
||||||
- There needs to be a config file named movie-rename.conf in your $XDG_CONFIG_HOME.
|
- There needs to be a config file named `config` in the `$XDG_CONFIG_HOME/movie-rename/` directory.
|
||||||
- It should consist of two lines. The first line should have your TMDb API key.
|
- It should consist of two lines. The first line should have your TMDb API key.
|
||||||
- The second line should have a pattern, that will be used for the rename.
|
- The second line should have a pattern, that will be used for the rename.
|
||||||
- In the pattern, the variables need to be enclosed in {{}}, the supported variables are `title`, `year` and `director`.
|
- In the pattern, the variables need to be enclosed in {{}}, the supported variables are `title`, `year` and `director`.
|
||||||
- Default pattern is `{title} ({year}) - {director}`. Extension is always kept.
|
- Default pattern is `{title} ({year}) - {director}`. Extension is always kept.
|
||||||
- Passing `--directory` assumes that the arguments are directory names, which contain exactly one movie and optionally subtitles.
|
- Passing `--directory` or `-d` assumes that the arguments are directory names, which contain exactly one movie and optionally subtitles.
|
||||||
|
- Passing `--dry-run` or `-n` does a dry tun and only prints out the new names, without actually doing anything.
|
||||||
|
- Passing `-nd` or `-dn` does a dry run in directory mode.
|
||||||
|
- Passing `--help` or `-h` shows help and exits.
|
||||||
|
- Passing `--version` or `-v` shows version and exits.
|
||||||
|
|
||||||
- I plan to add more variables in the future. Support for TV Shows will not be added, since [tvnamer](https://github.com/dbr/tvnamer) does that excellently.
|
- I plan to add more variables in the future. Support for TV Shows will not be added, since [tvnamer](https://github.com/dbr/tvnamer) does that excellently.
|
|
@ -17,13 +17,16 @@ Performs a dry run, without actually renaming anything.
|
||||||
-d, --directory
|
-d, --directory
|
||||||
Runs in directory mode. In this mode, it is assumed that the arguments are directory names, which contain exactly one movie and optionally subtitles.
|
Runs in directory mode. In this mode, it is assumed that the arguments are directory names, which contain exactly one movie and optionally subtitles.
|
||||||
.TP
|
.TP
|
||||||
|
-dn, -nd
|
||||||
|
Performs a dry run in directory mode.
|
||||||
|
.TP
|
||||||
-h, --help
|
-h, --help
|
||||||
Print help information.
|
Print help information.
|
||||||
.TP
|
.TP
|
||||||
-v, --version
|
-v, --version
|
||||||
Print version information.
|
Print version information.
|
||||||
.SH CONFIG
|
.SH CONFIG
|
||||||
There needs to be a config file named movie-rename.conf in your $XDG_CONFIG_HOME.
|
There needs to be a config file named config in the $XDG_CONFIG_HOME/movie-rename/ directory.
|
||||||
It should consist of two lines.
|
It should consist of two lines.
|
||||||
.sp
|
.sp
|
||||||
The first line should have your TMDb API key.
|
The first line should have your TMDb API key.
|
||||||
|
|
|
@ -141,7 +141,7 @@ pub fn process_args(mut args: Vec<String>) -> (Vec<String>, HashMap<&'static str
|
||||||
" movie-rename <filename(s)> [-n|--dry-run] [-d|--directory] [-v|--version]"
|
" movie-rename <filename(s)> [-n|--dry-run] [-d|--directory] [-v|--version]"
|
||||||
);
|
);
|
||||||
println!(
|
println!(
|
||||||
" There needs to be a config file names movie-rename.conf in your $XDG_CONFIG_HOME."
|
" There needs to be a config file named config in the $XDG_CONFIG_HOME/movie-rename/ directory."
|
||||||
);
|
);
|
||||||
println!(" It should consist of two lines. The first line should have your TMDb API key.");
|
println!(" It should consist of two lines. The first line should have your TMDb API key.");
|
||||||
println!(
|
println!(
|
||||||
|
@ -151,10 +151,17 @@ pub fn process_args(mut args: Vec<String>) -> (Vec<String>, HashMap<&'static str
|
||||||
println!(
|
println!(
|
||||||
" Default pattern is `{{title}} ({{year}}) - {{director}}`. Extension is always kept."
|
" Default pattern is `{{title}} ({{year}}) - {{director}}`. Extension is always kept."
|
||||||
);
|
);
|
||||||
println!("Passing --directory assumes that the arguments are directory names, which contain exactly one movie and optionally subtitles.");
|
println!(" Passing --directory or -d assumes that the arguments are directory names, which contain exactly one movie and optionally subtitles.");
|
||||||
|
println!(" Passing --dry-run or -n does a dry tun and only prints out the new names, without actually doing anything.");
|
||||||
|
println!(" Passing -nd or -dn does a dry run in directory mode.");
|
||||||
|
println!(" Passing --version or -v shows version and exits.");
|
||||||
println!(" Pass --help to get this again.");
|
println!(" Pass --help to get this again.");
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
"--version" | "-v" => {
|
||||||
|
println!("movie-rename {}", VERSION);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
"--dry-run" | "-n" => {
|
"--dry-run" | "-n" => {
|
||||||
println!("Doing a dry run...");
|
println!("Doing a dry run...");
|
||||||
settings.entry("dry_run").and_modify(|x| *x = true);
|
settings.entry("dry_run").and_modify(|x| *x = true);
|
||||||
|
@ -163,9 +170,10 @@ pub fn process_args(mut args: Vec<String>) -> (Vec<String>, HashMap<&'static str
|
||||||
println!("Running in directory mode...");
|
println!("Running in directory mode...");
|
||||||
settings.entry("directory").and_modify(|x| *x = true);
|
settings.entry("directory").and_modify(|x| *x = true);
|
||||||
}
|
}
|
||||||
"--version" | "-v" => {
|
"-nd" | "-dn" => {
|
||||||
println!("movie-rename {}", VERSION);
|
println!("Doing a dry run in directory mode...");
|
||||||
exit(0);
|
settings.entry("dry_run").and_modify(|x| *x = true);
|
||||||
|
settings.entry("directory").and_modify(|x| *x = true);
|
||||||
}
|
}
|
||||||
other => {
|
other => {
|
||||||
if other.starts_with("-") {
|
if other.starts_with("-") {
|
||||||
|
|
|
@ -20,7 +20,7 @@ fn main() {
|
||||||
config_file = env::var("$HOME").unwrap();
|
config_file = env::var("$HOME").unwrap();
|
||||||
config_file.push_str("/.config");
|
config_file.push_str("/.config");
|
||||||
}
|
}
|
||||||
config_file.push_str("/movie-rename.conf");
|
config_file.push_str("/movie-rename/config");
|
||||||
let mut config = load_str!(config_file.as_str()).lines();
|
let mut config = load_str!(config_file.as_str()).lines();
|
||||||
let api_key = config.next().unwrap_or("");
|
let api_key = config.next().unwrap_or("");
|
||||||
let pattern = config.next().unwrap_or("{title} ({year}) - {director}");
|
let pattern = config.next().unwrap_or("{title} ({year}) - {director}");
|
||||||
|
|
Loading…
Reference in a new issue