From bb9e67997052a9bb3b74db096db7742ee97a7e52 Mon Sep 17 00:00:00 2001 From: J62 Date: Sat, 15 Mar 2025 13:41:00 -0700 Subject: [PATCH] na filter --- .../sites/chaturbate/ChaturbateTabProvider.java | 2 +- common/src/main/java/ctbrec/Config.java | 16 ++++++++++++---- common/src/main/java/ctbrec/Settings.java | 1 + 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/client/src/main/java/ctbrec/ui/sites/chaturbate/ChaturbateTabProvider.java b/client/src/main/java/ctbrec/ui/sites/chaturbate/ChaturbateTabProvider.java index 44f35f8b..793d4085 100644 --- a/client/src/main/java/ctbrec/ui/sites/chaturbate/ChaturbateTabProvider.java +++ b/client/src/main/java/ctbrec/ui/sites/chaturbate/ChaturbateTabProvider.java @@ -20,7 +20,7 @@ public class ChaturbateTabProvider extends AbstractTabProvider { public ChaturbateTabProvider(Chaturbate chaturbate) { super(chaturbate); apiUrl = site.getBaseUrl() + "/api/ts"; - regionNAEnabled = Config.getInstance().getSettings().filterNAcamsOnly; // Load setting from Config + regionNAEnabled = Config.getInstance().isFilterNAcamsOnlyEnabled(); this.followedTab = new ChaturbateFollowedTab("Followed", buildUrl("/roomlist/room-list/?enable_recommendations=false&follow=true"), chaturbate); } diff --git a/common/src/main/java/ctbrec/Config.java b/common/src/main/java/ctbrec/Config.java index a5cb5251..30e9570f 100644 --- a/common/src/main/java/ctbrec/Config.java +++ b/common/src/main/java/ctbrec/Config.java @@ -162,6 +162,8 @@ public class Config { String json = new String(fileContent, UTF_8).trim(); json = migrateJson(json); settings = Objects.requireNonNull(mapper.readValue(json, Settings.class)); + settings.filterNAcamsOnly = json.has("filterNAcamsOnly") ? json.getBoolean("filterNAcamsOnly") : false; + settings.httpTimeout = Math.max(settings.httpTimeout, 10_000); if (settings.recordingsDir.endsWith("/")) { settings.recordingsDir = settings.recordingsDir.substring(0, settings.recordingsDir.length() - 1); @@ -221,11 +223,11 @@ public class Config { } } } - + private void migrateTo5_3_2(JSONObject json) { if (json.has("chaturbateUseFlaresolverr") && json.has("flaresolverr")) { var fsr = json.getJSONObject("flaresolverr"); - + if (!fsr.has("useForDomains") && json.getBoolean("chaturbateUseFlaresolverr")) { fsr.put("useForDomains", new JSONArray().put("chaturbate.com")); } @@ -257,11 +259,13 @@ public class Config { if (savingDisabled) { return; } - String json = mapper.writeValueAsString(settings); + JSONObject json = new JSONObject(mapper.writeValueAsString(settings)); + json.put("filterNAcamsOnly", settings.filterNAcamsOnly); + String jsonString = json.toString(); File configFile = new File(configDir, filename); log.debug("Saving config to {}", configFile.getAbsolutePath()); Files.createDirectories(configDir.toPath()); - Files.writeString(configFile.toPath(), json, CREATE, WRITE, TRUNCATE_EXISTING); + Files.writeString(configFile.toPath(), jsonString, CREATE, WRITE, TRUNCATE_EXISTING); } public static boolean isServerMode() { @@ -358,4 +362,8 @@ public class Config { List ignored = Config.getInstance().getSettings().ignoredModels; return ignored.contains(model.getUrl()); } + + public boolean isFilterNAcamsOnlyEnabled() { + return settings.filterNAcamsOnly; + } } diff --git a/common/src/main/java/ctbrec/Settings.java b/common/src/main/java/ctbrec/Settings.java index fa8fc5df..8c079402 100644 --- a/common/src/main/java/ctbrec/Settings.java +++ b/common/src/main/java/ctbrec/Settings.java @@ -127,6 +127,7 @@ public class Settings { public String mfcPassword = ""; public String mfcUsername = ""; public boolean minimizeToTray = false; + public boolean filterNAcamsOnly = false; @Deprecated public int minimumLengthInSeconds = 0; public long minimumSpaceLeftInBytes = 0;