From e3925e992df56eaec639d04ae6bcf05a55a77ccf Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Thu, 24 Dec 2020 12:02:37 +0100 Subject: [PATCH] Add migration step for Cam4 model notes --- common/src/main/java/ctbrec/Config.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/ctbrec/Config.java b/common/src/main/java/ctbrec/Config.java index 48560ab0..a777a69b 100644 --- a/common/src/main/java/ctbrec/Config.java +++ b/common/src/main/java/ctbrec/Config.java @@ -1,10 +1,10 @@ package ctbrec; +import static java.nio.charset.StandardCharsets.*; import static java.nio.file.StandardOpenOption.*; import java.io.File; import java.io.IOException; -import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.text.SimpleDateFormat; @@ -13,7 +13,9 @@ import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.Date; +import java.util.Iterator; import java.util.List; +import java.util.Map.Entry; import java.util.Objects; import java.util.Optional; @@ -33,6 +35,7 @@ import ctbrec.recorder.postprocessing.PostProcessor; import ctbrec.recorder.postprocessing.RemoveKeepFile; import ctbrec.recorder.postprocessing.Script; import ctbrec.sites.Site; +import ctbrec.sites.cam4.Cam4Model; public class Config { @@ -79,7 +82,7 @@ public class Config { fileContent[1] = ' '; fileContent[2] = ' '; } - String json = new String(fileContent, StandardCharsets.UTF_8.name()).trim(); + String json = new String(fileContent, UTF_8).trim(); settings = adapter.fromJson(json); settings.httpTimeout = Math.max(settings.httpTimeout, 10_000); if (settings.recordingsDir.endsWith("/")) { @@ -161,6 +164,16 @@ public class Config { LOG.error("Couldn't migrate minimal browser config location", e); } } + // 3.10.10 model notes due to Cam4 URL change + for (Iterator> iterator = settings.modelNotes.entrySet().iterator(); iterator.hasNext();) { + Entry note = iterator.next(); + if (note.getKey().contains("cam4") && note.getKey().endsWith("/")) { + Cam4Model model = new Cam4Model(); + model.setUrl(note.getKey()); + settings.modelNotes.put(model.getUrl(), note.getValue()); + iterator.remove(); + } + } } private void makeBackup(File source) { @@ -204,7 +217,7 @@ public class Config { File configFile = new File(configDir, filename); LOG.debug("Saving config to {}", configFile.getAbsolutePath()); Files.createDirectories(configDir.toPath()); - Files.write(configFile.toPath(), json.getBytes("utf-8"), CREATE, WRITE, TRUNCATE_EXISTING); + Files.write(configFile.toPath(), json.getBytes(UTF_8), CREATE, WRITE, TRUNCATE_EXISTING); } public static boolean isServerMode() {