From f6f07bb9ac57f173061e27644bf0e3da97cc9354 Mon Sep 17 00:00:00 2001 From: elliot Date: Mon, 13 May 2019 20:38:33 -0400 Subject: [PATCH] enable executable jar production, default outdir to tts dir --- src/main/java/META-INF/MANIFEST.MF | 3 +++ src/main/java/core/Main.java | 23 +++++++++++++------ .../java/importObjects/deck/AbstractDeck.java | 17 +++++++++++++- 3 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 src/main/java/META-INF/MANIFEST.MF diff --git a/src/main/java/META-INF/MANIFEST.MF b/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 0000000..0ad8de3 --- /dev/null +++ b/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: core.Main + diff --git a/src/main/java/core/Main.java b/src/main/java/core/Main.java index bd2e401..21ed1a6 100644 --- a/src/main/java/core/Main.java +++ b/src/main/java/core/Main.java @@ -14,24 +14,33 @@ public class Main { public static void main(String[] args) throws IOException { - if(args.length != 2) + if(args.length < 2) { - throw new IOException("Pass your TappedOut Username & Password!"); + System.err.println("Usage: java -jar TTSDeckImporter.jar tappedOutUsername tappedOutPassword [deckUrl[deckName]]"); + System.exit(1); } String user = args[0]; String pass = args[1]; + + //TODO: Elliots decks - //String someTappedOutUrl = "https://tappedout.net/mtg-decks/gliristofacts/"; - String someTappedOutUrl = "https://tappedout.net/mtg-decks/test-card-bin"; + //String deckUrl = "https://tappedout.net/mtg-decks/gliristofacts/"; + //String deckUrl = "https://tappedout.net/mtg-decks/test-card-bin" ; + String deckUrl = "https://tappedout.net/mtg-decks/gliristofacts-v2-wip/"; //TODO: Chris's decks - //String someTappedOutUrl = "http://tappedout.net/mtg-decks/testing-area/"; + //String deckUrl = "http://tappedout.net/mtg-decks/testing-area/"; //"http://tappedout.net/mtg-decks/mayael-the-anima-irl/"; - URL url = new URL(someTappedOutUrl); + String deckName = "gliristofacts"; + if(args.length==4){ + deckUrl = args[3]; + deckName = args[4]; + } + URL url = new URL(deckUrl); TappedOutImporter importer = new TappedOutImporter(new Credentials(user, pass), new Scryfall(), url); EDH deck = new EDH(importer); - deck.setName("cardBinTestDeck"); + deck.setName(deckName); System.out.println("Importing Deck " + deck.getName()); deck.importDeck(); diff --git a/src/main/java/importObjects/deck/AbstractDeck.java b/src/main/java/importObjects/deck/AbstractDeck.java index 90dfdb9..bdb153a 100644 --- a/src/main/java/importObjects/deck/AbstractDeck.java +++ b/src/main/java/importObjects/deck/AbstractDeck.java @@ -8,9 +8,12 @@ import importObjects.Token; import importers.deckImporter.AbstractDeckImporter; +import javax.swing.filechooser.FileSystemView; import java.io.File; import java.net.MalformedURLException; import java.net.URL; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -23,11 +26,23 @@ public abstract class AbstractDeck private List cardList; private List tokenList; private URL sleeveImageUrl; - private static final String DECKFOLDER = "DeckOutput"; + private static final String DECKFOLDER = getDeckDirPath(); private double imageOutCompressionLevel = .25; // default output image compression config for this deck private List hostedImageUrls = new ArrayList(); private HashMap> ttsDeckMap = new HashMap>(); private File backImage = getDeckImageFile(); + String documents = FileSystemView.getFileSystemView().getDefaultDirectory().getPath(); + private static String getDeckDirPath() { + String documents = FileSystemView.getFileSystemView().getDefaultDirectory().getPath(); + Path path = Paths.get(documents, "My Games", "Tabletop Simulator", "Saves", "Saved Objects", "decks"); + String deckDir = path.toString() + File.separator; + File f = path.toFile(); + if (!f.exists()) { + f.mkdirs(); + + } + return deckDir; + } private File getDeckImageFile(){ File f = new File(Constants.DEFAULT_SLEEVE_IMAGE_FILE_PATH);