From 41d32ad68141cf7c9cbc541246bb8f4022a6b76b Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Wed, 15 Nov 2023 22:22:16 +0100 Subject: [PATCH] Fix one directory per group --- CHANGELOG.md | 4 ++++ common/src/main/java/ctbrec/Config.java | 15 +++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 042bcfd7..0a40b0ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +5.2.3 +======================== +* Fix one directory per group + 5.2.2 ======================== * Fix: MyFreeCams model state updates diff --git a/common/src/main/java/ctbrec/Config.java b/common/src/main/java/ctbrec/Config.java index bddba957..4e637ad9 100644 --- a/common/src/main/java/ctbrec/Config.java +++ b/common/src/main/java/ctbrec/Config.java @@ -277,6 +277,9 @@ public class Config { case ONE_PER_MODEL -> { return new File(getSettings().recordingsDir, model.getSanitizedNamed()); } + case ONE_PER_GROUP -> { + return new File(getSettings().recordingsDir, getGroupOrModelName(model)); + } case ONE_PER_RECORDING -> { File modelDir = new File(getSettings().recordingsDir, model.getSanitizedNamed()); return new File(modelDir, formattedDate); @@ -287,6 +290,18 @@ public class Config { } } + private String getGroupOrModelName(Model model) { + try { + Optional modelGroup = getSettings().modelGroups.stream().filter(mg -> mg.getModelUrls().contains(model.getUrl())).findFirst(); + if (modelGroup.isPresent()) { + return modelGroup.get().getName().replaceAll("[^a-zA-Z0-9.-]", "_"); + } + } catch (Exception ex) { + // Nothing + } + return model.getSanitizedNamed(); + } + public String getServerUrl() { String scheme = getSettings().transportLayerSecurity ? "https" : "http"; int port = getSettings().httpPort;