diff --git a/pom.xml b/pom.xml
index b8a11b8..79203dd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -90,4 +90,12 @@
+
+
+ hack3
+ My self-hosted maven repo
+ https://mavenrepo.hack3.cat/snapshots
+
+
+
\ No newline at end of file
diff --git a/src/main/java/tv/mangrana/plex/url/PlexLibrarySectionsResolver.java b/src/main/java/tv/mangrana/plex/url/PlexLibrarySectionsResolver.java
index 4c68fcb..b0ee0b6 100644
--- a/src/main/java/tv/mangrana/plex/url/PlexLibrarySectionsResolver.java
+++ b/src/main/java/tv/mangrana/plex/url/PlexLibrarySectionsResolver.java
@@ -34,6 +34,7 @@ public class PlexLibrarySectionsResolver {
String directoryNodeOfLocation = getDirectoryKeyValue(xmlDocument, xPath, startingLocationText);
if (directoryNodeOfLocation == null) {
startingLocationText = plexPathStarter.concat("/").concat(keyFolder);
+ Output.log("but going to retry with {0}", startingLocationText);
return getDirectoryKeyValue(xmlDocument, xPath, startingLocationText);
} else
return directoryNodeOfLocation;
diff --git a/src/main/java/tv/mangrana/utils/yml/FakeYmlLoader.java b/src/main/java/tv/mangrana/utils/yml/FakeYmlLoader.java
index 4a80bcb..c0ea8d0 100644
--- a/src/main/java/tv/mangrana/utils/yml/FakeYmlLoader.java
+++ b/src/main/java/tv/mangrana/utils/yml/FakeYmlLoader.java
@@ -8,9 +8,9 @@ import java.io.IOException;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.EnumMap;
+import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
-import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -28,14 +28,11 @@ public class FakeYmlLoader {
@SuppressWarnings("all")
public static > EnumMap getEnumMapFromFile(File ymlFile, Class enumData, boolean silently) throws IncorrectWorkingReferencesException {
EnumMap enumMap = new EnumMap<>(enumData);
- Pattern simpleYmlKeyValuePattern = Pattern.compile(".+: .+");
- try (Stream stream = Files.lines(ymlFile.toPath())) {
- Map fileLines = stream
- .filter(keyValueCandidate -> simpleYmlKeyValuePattern
- .matcher(keyValueCandidate)
- .matches())
- .map(s -> s.split(":"))
- .collect(Collectors.toMap(e -> e[0], e -> e[1].trim()));
+ try (Stream linesStream = Files.lines(ymlFile.toPath())) {
+ Pattern simpleYmlKeyValuePattern = Pattern.compile(".+: .+");
+ Stream filteredLines = getFilteredLines(simpleYmlKeyValuePattern, linesStream);
+ Map fileLines = mapLinesToKeyValue(filteredLines);
+
Arrays.stream(enumData.getEnumConstants())
.forEach(cons ->
enumMap.put(cons, fileLines.get(cons.name().toLowerCase()))
@@ -53,4 +50,26 @@ public class FakeYmlLoader {
return null;
}
+ private static Stream getFilteredLines(Pattern simpleYmlKeyValuePattern, Stream stream) {
+ return stream
+ .filter(keyValueCandidate -> simpleYmlKeyValuePattern
+ .matcher(keyValueCandidate)
+ .matches()
+ );
+ }
+
+ private static Map mapLinesToKeyValue(Stream stringStream) {
+ Map keyValueMap = new HashMap<>();
+ stringStream.forEach(line -> {
+ try {
+ String[] keyValue = line.split(":");
+ keyValueMap.put(keyValue[0], keyValue[1].trim());
+ } catch (Exception e) {
+ logger.nHLog("Some problem occurred trying to map line {0} to key-value", line);
+ e.printStackTrace();
+ }
+ });
+ return keyValueMap;
+ }
+
}