diff --git a/Mage.Client/plugins/mage-card-plugin.jar b/Mage.Client/plugins/mage-card-plugin.jar index be3eecf7ed4..a7db7a9f45c 100644 Binary files a/Mage.Client/plugins/mage-card-plugin.jar and b/Mage.Client/plugins/mage-card-plugin.jar differ diff --git a/Mage.Plugins/Mage.Card.Plugin/src/main/java/org/mage/plugins/card/CardPluginImpl.java b/Mage.Plugins/Mage.Card.Plugin/src/main/java/org/mage/plugins/card/CardPluginImpl.java index 96f8096a9f0..9500ed5826f 100644 --- a/Mage.Plugins/Mage.Card.Plugin/src/main/java/org/mage/plugins/card/CardPluginImpl.java +++ b/Mage.Plugins/Mage.Card.Plugin/src/main/java/org/mage/plugins/card/CardPluginImpl.java @@ -35,6 +35,7 @@ import org.mage.plugins.card.constants.Constants; import org.mage.plugins.card.dl.DownloadGui; import org.mage.plugins.card.dl.DownloadJob; import org.mage.plugins.card.dl.Downloader; +import org.mage.plugins.card.dl.sources.GathererSets; import org.mage.plugins.card.dl.sources.GathererSymbols; import org.mage.plugins.card.images.DownloadPictures; import org.mage.plugins.card.info.CardInfoPaneImpl; @@ -416,7 +417,13 @@ public class CardPluginImpl implements CardPlugin { for(DownloadJob job:it) { g.getDownloader().add(job); } - + + it = new GathererSets(); + for(DownloadJob job:it) { + g.getDownloader().add(job); + } + + JDialog d = new JDialog((Frame) null, "Download pictures", false); d.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); d.addWindowListener(new WindowAdapter() { diff --git a/Mage.Plugins/Mage.Card.Plugin/src/main/java/org/mage/plugins/card/dl/sources/GathererSets.java b/Mage.Plugins/Mage.Card.Plugin/src/main/java/org/mage/plugins/card/dl/sources/GathererSets.java new file mode 100644 index 00000000000..d2c51658f6e --- /dev/null +++ b/Mage.Plugins/Mage.Card.Plugin/src/main/java/org/mage/plugins/card/dl/sources/GathererSets.java @@ -0,0 +1,36 @@ +package org.mage.plugins.card.dl.sources; + +import com.google.common.collect.AbstractIterator; +import org.mage.plugins.card.dl.DownloadJob; + +import java.io.File; +import java.util.Iterator; + +import static org.mage.plugins.card.dl.DownloadJob.fromURL; +import static org.mage.plugins.card.dl.DownloadJob.toFile; + +public class GathererSets implements Iterable { + private static final File outDir = new File("plugins/images/sets"); + private static final String[] symbols = { "M10", "M11", "ARB", "DIS", "GPT", "RAV", "ALA", + "ZEN", "WWK", "ROE", "SOM", "10E", "CFX" }; + + @Override + public Iterator iterator() { + return new AbstractIterator() { + private int idx = 0; + + @Override + protected DownloadJob computeNext() { + if (idx == symbols.length) return endOfData(); + String symbol = symbols[idx]; + File dst = new File(outDir, symbol + ".jpg"); + if (symbol.equals("CFX")) { // hack for special reserved filaname "CON" in Windows + symbol = "CON"; + } + String url = "http://gatherer.wizards.com/Handlers/Image.ashx?type=symbol&set=" + symbol + "&size=small&rarity=R"; + idx++; + return new DownloadJob(symbol, fromURL(url), toFile(dst)); + } + }; + } +}