From aa1d2a1879a45aa2a209b4adfda2e4cea136923f Mon Sep 17 00:00:00 2001 From: kevlahnota Date: Mon, 28 Aug 2017 07:54:15 +0000 Subject: [PATCH] Fixed filenames that contains comma and apostrophe when parsed (as seen on achievement resource when downloaded, "%27s" will be replaced by "'s" and %2C" will be replaced by ","), so they can be viewable on achievement page. --- .../main/java/forge/achievement/AchievementCollection.java | 2 ++ .../src/main/java/forge/download/GuiDownloadService.java | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/forge-gui/src/main/java/forge/achievement/AchievementCollection.java b/forge-gui/src/main/java/forge/achievement/AchievementCollection.java index d079f5ee129..3314ccbc9bc 100644 --- a/forge-gui/src/main/java/forge/achievement/AchievementCollection.java +++ b/forge-gui/src/main/java/forge/achievement/AchievementCollection.java @@ -126,6 +126,8 @@ public abstract class AchievementCollection implements Iterable { for (final String s : achievementListFile) { if (!s.isEmpty()) { String k[] = StringUtils.split(s, "|"); + if(k[0].contains("add(\"")) + k[0] = k[0].replace("add(\"",""); add(k[0],k[1],k[2]); } } diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadService.java b/forge-gui/src/main/java/forge/download/GuiDownloadService.java index c935779e296..411ce44fca1 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadService.java +++ b/forge-gui/src/main/java/forge/download/GuiDownloadService.java @@ -242,7 +242,9 @@ public abstract class GuiDownloadService implements Runnable { count++; cardSkipped = true; //assume skipped unless saved successfully String url = kv.getValue(); - final File fileDest = new File(kv.getKey()); + //replace web url punctuation by their real punctuation... + String renamedKey = kv.getKey().replace("%2C",",").replace("%27s","'s"); + final File fileDest = new File(renamedKey); System.out.println(count + "/" + totalCount + " - " + fileDest); @@ -331,7 +333,7 @@ public abstract class GuiDownloadService implements Runnable { protected static void addMissingItems(Map list, String nameUrlFile, String dir) { for (Pair nameUrlPair : FileUtil.readNameUrlFile(nameUrlFile)) { - File f = new File(dir, nameUrlPair.getLeft()); + File f = new File(dir, nameUrlPair.getLeft().replace("%2C",",").replace("%27s","'s")); //System.out.println(f.getAbsolutePath()); if (!f.exists()) { list.put(f.getAbsolutePath(), nameUrlPair.getRight());