diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c5f3f6b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "interactive" +} \ No newline at end of file diff --git a/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/LastFMToSpotify.java b/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/LastFMToSpotify.java index 47b087d..28fe14a 100644 --- a/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/LastFMToSpotify.java +++ b/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/LastFMToSpotify.java @@ -22,6 +22,10 @@ public class LastFMToSpotify { // create hash map with user agent configuration = new HashMap<>(); configuration.put("requests.useragent", "LastFMToSpotify/1.0-Snapshot (" + System.getProperty("os.name") + "; " + System.getProperty("os.arch") + ") Java/" + System.getProperty("java.version")); + configuration.put("log.level", "1"); + if (!ArgumentHandler.checkArguments(args)) { + return; + } // parse arguments for (int a = 0; a < args.length; a++) { Arguments arg; diff --git a/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/arguments/ArgumentHandler.java b/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/arguments/ArgumentHandler.java index aa8ef72..d253220 100644 --- a/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/arguments/ArgumentHandler.java +++ b/src/main/java/de/b00tload/tools/lastfmtospotifyplaylist/arguments/ArgumentHandler.java @@ -6,6 +6,10 @@ import org.jetbrains.annotations.Nullable; import static de.b00tload.tools.lastfmtospotifyplaylist.LastFMToSpotify.LINE_SEPERATOR; import static de.b00tload.tools.lastfmtospotifyplaylist.LastFMToSpotify.configuration; +import java.util.List; + +import javax.xml.crypto.Data; + public class ArgumentHandler { public static void handle(Arguments argument, @Nullable String value) { @@ -28,6 +32,27 @@ public class ArgumentHandler { handle(argument, null); } + public static boolean checkArguments(String[] args) { + // check if all required arguments are given + Arguments[] required = {Arguments.SECRET, Arguments.CLIENT, Arguments.TOKEN, Arguments.USER}; + for (Arguments argument : required) { + boolean found = false; + // check all aliases + for (String alias : argument.getAliases()) { + // if one alias is found check next argument + if (List.of(args).contains(alias)) { + found = true; + break; + } + } + // else return false + if (!found) { + return false; + } + } + return true; + } + private static void help(String value) { if (value == null) { System.out.println("This is a list of all available commands. For more specific help on the argument run --help .");