mirror of
https://github.com/fabianonline/telegram_backup.git
synced 2024-11-23 01:06:17 +00:00
Some refactoring to split long methods into smaller methods.
This commit is contained in:
parent
1d8724ecb7
commit
92fb628b92
@ -41,11 +41,7 @@ public class CommandLineController {
|
|||||||
|
|
||||||
public CommandLineController() {
|
public CommandLineController() {
|
||||||
logger.info("CommandLineController started. App version {}", Config.APP_APPVER);
|
logger.info("CommandLineController started. App version {}", Config.APP_APPVER);
|
||||||
System.out.println("Telegram_Backup version " + Config.APP_APPVER + ", Copyright (C) 2016 Fabian Schlenz");
|
this.printHeader();
|
||||||
System.out.println();
|
|
||||||
System.out.println("Telegram_Backup comes with ABSOLUTELY NO WARRANTY. This is free software, and you are");
|
|
||||||
System.out.println("welcome to redistribute it under certain conditions; run it with '--license' for details.");
|
|
||||||
System.out.println();
|
|
||||||
|
|
||||||
if (CommandLineOptions.cmd_version) {
|
if (CommandLineOptions.cmd_version) {
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
@ -57,54 +53,19 @@ public class CommandLineController {
|
|||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.debug("Target dir at startup: {}", Utils.anonymize(Config.FILE_BASE));
|
this.setupFileBase();
|
||||||
if (CommandLineOptions.val_target != null) {
|
|
||||||
Config.FILE_BASE = CommandLineOptions.val_target;
|
if (CommandLineOptions.cmd_list_accounts) {
|
||||||
|
this.list_accounts();
|
||||||
|
System.exit(0);
|
||||||
}
|
}
|
||||||
logger.debug("Target dir after options: {}", Utils.anonymize(Config.FILE_BASE));
|
|
||||||
|
|
||||||
System.out.println("Base directory for files: " + Utils.anonymize(Config.FILE_BASE));
|
|
||||||
|
|
||||||
if (CommandLineOptions.cmd_list_accounts) this.list_accounts();
|
|
||||||
|
|
||||||
logger.debug("Initializing TelegramApp");
|
logger.debug("Initializing TelegramApp");
|
||||||
app = new TelegramApp(Config.APP_ID, Config.APP_HASH, Config.APP_MODEL, Config.APP_SYSVER, Config.APP_APPVER, Config.APP_LANG);
|
app = new TelegramApp(Config.APP_ID, Config.APP_HASH, Config.APP_MODEL, Config.APP_SYSVER, Config.APP_APPVER, Config.APP_LANG);
|
||||||
|
|
||||||
logger.trace("Checking accounts");
|
logger.trace("Checking accounts");
|
||||||
String account = null;
|
String account = this.selectAccount();
|
||||||
Vector<String> accounts = Utils.getAccounts();
|
|
||||||
if (CommandLineOptions.cmd_login) {
|
|
||||||
logger.debug("Login requested, doing nothing.");
|
|
||||||
// do nothing
|
|
||||||
} else if (CommandLineOptions.val_account!=null) {
|
|
||||||
logger.debug("Account requested: {}", Utils.anonymize(CommandLineOptions.val_account));
|
|
||||||
logger.trace("Checking accounts for match.");
|
|
||||||
boolean found = false;
|
|
||||||
for (String acc : accounts) {
|
|
||||||
logger.trace("Checking {}", Utils.anonymize(acc));
|
|
||||||
if (acc.equals(CommandLineOptions.val_account)) {
|
|
||||||
found=true;
|
|
||||||
logger.trace("Matches.");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!found) {
|
|
||||||
show_error("Couldn't find account '" + Utils.anonymize(CommandLineOptions.val_account) + "'. Maybe you want to use '--login' first?");
|
|
||||||
}
|
|
||||||
account = CommandLineOptions.val_account;
|
|
||||||
} else if (accounts.size()==0) {
|
|
||||||
System.out.println("No accounts found. Starting login process...");
|
|
||||||
CommandLineOptions.cmd_login = true;
|
|
||||||
} else if (accounts.size()==1) {
|
|
||||||
account = accounts.firstElement();
|
|
||||||
System.out.println("Using only available account: " + Utils.anonymize(account));
|
|
||||||
} else {
|
|
||||||
show_error("You didn't specify which account to use.\n" +
|
|
||||||
"Use '--account <x>' to use account <x>.\n" +
|
|
||||||
"Use '--list-accounts' to see all available accounts.");
|
|
||||||
}
|
|
||||||
logger.debug("accounts.size(): {}", accounts.size());
|
|
||||||
logger.debug("account: {}", Utils.anonymize(account));
|
|
||||||
logger.debug("CommandLineOptions.cmd_login: {}", CommandLineOptions.cmd_login);
|
logger.debug("CommandLineOptions.cmd_login: {}", CommandLineOptions.cmd_login);
|
||||||
|
|
||||||
logger.info("Initializing ApiStorage");
|
logger.info("Initializing ApiStorage");
|
||||||
@ -160,6 +121,7 @@ public class CommandLineController {
|
|||||||
System.out.println("You are logged in as " + Utils.anonymize(user.getUserString()));
|
System.out.println("You are logged in as " + Utils.anonymize(user.getUserString()));
|
||||||
} else {
|
} else {
|
||||||
System.out.println("You are not logged in.");
|
System.out.println("You are not logged in.");
|
||||||
|
System.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.info("Initializing Download Manager");
|
logger.info("Initializing Download Manager");
|
||||||
@ -190,6 +152,62 @@ public class CommandLineController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void printHeader() {
|
||||||
|
System.out.println("Telegram_Backup version " + Config.APP_APPVER + ", Copyright (C) 2016 Fabian Schlenz");
|
||||||
|
System.out.println();
|
||||||
|
System.out.println("Telegram_Backup comes with ABSOLUTELY NO WARRANTY. This is free software, and you are");
|
||||||
|
System.out.println("welcome to redistribute it under certain conditions; run it with '--license' for details.");
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupFileBase() {
|
||||||
|
logger.debug("Target dir at startup: {}", Utils.anonymize(Config.FILE_BASE));
|
||||||
|
if (CommandLineOptions.val_target != null) {
|
||||||
|
Config.FILE_BASE = CommandLineOptions.val_target;
|
||||||
|
}
|
||||||
|
logger.debug("Target dir after options: {}", Utils.anonymize(Config.FILE_BASE));
|
||||||
|
|
||||||
|
System.out.println("Base directory for files: " + Utils.anonymize(Config.FILE_BASE));
|
||||||
|
}
|
||||||
|
|
||||||
|
private String selectAccount() {
|
||||||
|
String account = null;
|
||||||
|
Vector<String> accounts = Utils.getAccounts();
|
||||||
|
if (CommandLineOptions.cmd_login) {
|
||||||
|
logger.debug("Login requested, doing nothing.");
|
||||||
|
// do nothing
|
||||||
|
} else if (CommandLineOptions.val_account!=null) {
|
||||||
|
logger.debug("Account requested: {}", Utils.anonymize(CommandLineOptions.val_account));
|
||||||
|
logger.trace("Checking accounts for match.");
|
||||||
|
boolean found = false;
|
||||||
|
for (String acc : accounts) {
|
||||||
|
logger.trace("Checking {}", Utils.anonymize(acc));
|
||||||
|
if (acc.equals(CommandLineOptions.val_account)) {
|
||||||
|
found=true;
|
||||||
|
logger.trace("Matches.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!found) {
|
||||||
|
show_error("Couldn't find account '" + Utils.anonymize(CommandLineOptions.val_account) + "'. Maybe you want to use '--login' first?");
|
||||||
|
}
|
||||||
|
account = CommandLineOptions.val_account;
|
||||||
|
} else if (accounts.size()==0) {
|
||||||
|
System.out.println("No accounts found. Starting login process...");
|
||||||
|
CommandLineOptions.cmd_login = true;
|
||||||
|
} else if (accounts.size()==1) {
|
||||||
|
account = accounts.firstElement();
|
||||||
|
System.out.println("Using only available account: " + Utils.anonymize(account));
|
||||||
|
} else {
|
||||||
|
show_error("You didn't specify which account to use.\n" +
|
||||||
|
"Use '--account <x>' to use account <x>.\n" +
|
||||||
|
"Use '--list-accounts' to see all available accounts.");
|
||||||
|
}
|
||||||
|
logger.debug("accounts.size(): {}", accounts.size());
|
||||||
|
logger.debug("account: {}", Utils.anonymize(account));
|
||||||
|
return account;
|
||||||
|
}
|
||||||
|
|
||||||
private void cmd_login(String phone) throws RpcErrorException, IOException {
|
private void cmd_login(String phone) throws RpcErrorException, IOException {
|
||||||
if (phone==null) {
|
if (phone==null) {
|
||||||
System.out.println("Please enter your phone number in international format.");
|
System.out.println("Please enter your phone number in international format.");
|
||||||
@ -260,7 +278,6 @@ public class CommandLineController {
|
|||||||
System.out.println("NO ACCOUNTS FOUND");
|
System.out.println("NO ACCOUNTS FOUND");
|
||||||
System.out.println("Use '--login' to login to a telegram account.");
|
System.out.println("Use '--login' to login to a telegram account.");
|
||||||
}
|
}
|
||||||
System.exit(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void show_error(String error) {
|
public static void show_error(String error) {
|
||||||
|
@ -31,7 +31,20 @@ public class CommandLineRunner {
|
|||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
CommandLineOptions.parseOptions(args);
|
CommandLineOptions.parseOptions(args);
|
||||||
|
|
||||||
// Set up logging
|
setupLogging();
|
||||||
|
checkVersion();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (true || CommandLineOptions.cmd_console) {
|
||||||
|
// Always use the console for now.
|
||||||
|
new CommandLineController();
|
||||||
|
} else {
|
||||||
|
new GUIController();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setupLogging() {
|
||||||
Logger logger = (Logger)LoggerFactory.getLogger(CommandLineRunner.class);
|
Logger logger = (Logger)LoggerFactory.getLogger(CommandLineRunner.class);
|
||||||
Logger rootLogger = (Logger)LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
|
Logger rootLogger = (Logger)LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
|
||||||
LoggerContext rootContext = rootLogger.getLoggerContext();
|
LoggerContext rootContext = rootLogger.getLoggerContext();
|
||||||
@ -59,7 +72,9 @@ public class CommandLineRunner {
|
|||||||
if (CommandLineOptions.cmd_trace_telegram) {
|
if (CommandLineOptions.cmd_trace_telegram) {
|
||||||
((Logger)LoggerFactory.getLogger("com.github.badoualy")).setLevel(Level.TRACE);
|
((Logger)LoggerFactory.getLogger("com.github.badoualy")).setLevel(Level.TRACE);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean checkVersion() {
|
||||||
Version v = Utils.getNewestVersion();
|
Version v = Utils.getNewestVersion();
|
||||||
if (v!=null && v.isNewer) {
|
if (v!=null && v.isNewer) {
|
||||||
System.out.println("A newer version is vailable!");
|
System.out.println("A newer version is vailable!");
|
||||||
@ -70,13 +85,8 @@ public class CommandLineRunner {
|
|||||||
System.out.println("Changes in this version:");
|
System.out.println("Changes in this version:");
|
||||||
System.out.println(v.body);
|
System.out.println(v.body);
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
if (true || CommandLineOptions.cmd_console) {
|
|
||||||
// Always use the console for now.
|
|
||||||
new CommandLineController();
|
|
||||||
} else {
|
|
||||||
new GUIController();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user