na filter

This commit is contained in:
J62 2025-03-15 13:41:00 -07:00
parent 3f4ae44bae
commit bb9e679970
3 changed files with 14 additions and 5 deletions

View File

@ -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);
}

View File

@ -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<String> ignored = Config.getInstance().getSettings().ignoredModels;
return ignored.contains(model.getUrl());
}
public boolean isFilterNAcamsOnlyEnabled() {
return settings.filterNAcamsOnly;
}
}

View File

@ -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;