mirror of
https://framagit.org/veretcle/scootaloo.git
synced 2025-07-21 17:34:37 +02:00
feat: add multi-account ability
This commit is contained in:
49
src/main.rs
49
src/main.rs
@@ -43,7 +43,16 @@ fn main() {
|
||||
.help("Base URL of the Mastodon instance to register to (no default)")
|
||||
.takes_value(true)
|
||||
.required(true)
|
||||
.display_order(1),
|
||||
.display_order(1)
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("name")
|
||||
.short("n")
|
||||
.long("name")
|
||||
.help("Twitter Screen Name (like https://twitter.com/screen_name, no default)")
|
||||
.takes_value(true)
|
||||
.required(true)
|
||||
.display_order(2)
|
||||
),
|
||||
)
|
||||
.subcommand(
|
||||
@@ -63,11 +72,36 @@ fn main() {
|
||||
.display_order(1),
|
||||
),
|
||||
)
|
||||
.subcommand(
|
||||
SubCommand::with_name("migrate")
|
||||
.version(env!("CARGO_PKG_VERSION"))
|
||||
.about("Command to migrate Scootaloo DB")
|
||||
.arg(
|
||||
Arg::with_name("config")
|
||||
.short("c")
|
||||
.long("config")
|
||||
.value_name("CONFIG_FILE")
|
||||
.help(&format!("TOML config file for scootaloo (default {})", DEFAULT_CONFIG_PATH))
|
||||
.takes_value(true)
|
||||
.display_order(1),
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("name")
|
||||
.short("n")
|
||||
.long("name")
|
||||
.help("Twitter Screen Name (like https://twitter.com/screen_name, no default)")
|
||||
.takes_value(true)
|
||||
.display_order(2)
|
||||
)
|
||||
)
|
||||
.get_matches();
|
||||
|
||||
match matches.subcommand() {
|
||||
("register", Some(sub_m)) => {
|
||||
register(sub_m.value_of("host").unwrap());
|
||||
register(
|
||||
sub_m.value_of("host").unwrap(),
|
||||
sub_m.value_of("name").unwrap(),
|
||||
);
|
||||
return;
|
||||
}
|
||||
("init", Some(sub_m)) => {
|
||||
@@ -75,6 +109,17 @@ fn main() {
|
||||
init_db(&config.scootaloo.db_path).unwrap();
|
||||
return;
|
||||
}
|
||||
("migrate", Some(sub_m)) => {
|
||||
let config = parse_toml(sub_m.value_of("config").unwrap_or(DEFAULT_CONFIG_PATH));
|
||||
let config_twitter_screen_name =
|
||||
&config.mastodon.values().next().unwrap().twitter_screen_name;
|
||||
migrate_db(
|
||||
&config.scootaloo.db_path,
|
||||
sub_m.value_of("name").unwrap_or(config_twitter_screen_name),
|
||||
)
|
||||
.unwrap();
|
||||
return;
|
||||
}
|
||||
_ => (),
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user