From 8f897ddf7194cc6bac2f4c27eab55f37dfc850d6 Mon Sep 17 00:00:00 2001 From: mykola2312 <49044616+mykola2312@users.noreply.github.com> Date: Fri, 19 Apr 2024 14:52:32 +0300 Subject: [PATCH] add m3u local source type --- config.json.example | 16 +++++++++++++++- .../com/mykola2312/mptv/config/SourceItem.java | 10 +++++++++- .../java/com/mykola2312/mptv/TestConfig.java | 13 +++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/config.json.example b/config.json.example index b13b0fe..b3447e6 100644 --- a/config.json.example +++ b/config.json.example @@ -11,5 +11,19 @@ "url": "jdbc:sqlite:mptv.db", "user": "", "password": "" - } + }, + + "sources": [ + { + "type": "m3u", + "url": "https://example.com/list.m3u", + "cookies": null, + "singleCategory": null + }, + { + "type": "m3u-local", + "path": "test.m3u8", + "singleCategory": "test" + } + ] } \ No newline at end of file diff --git a/src/main/java/com/mykola2312/mptv/config/SourceItem.java b/src/main/java/com/mykola2312/mptv/config/SourceItem.java index f13a560..9bb4e7f 100644 --- a/src/main/java/com/mykola2312/mptv/config/SourceItem.java +++ b/src/main/java/com/mykola2312/mptv/config/SourceItem.java @@ -7,12 +7,20 @@ import com.fasterxml.jackson.annotation.JsonProperty; public class SourceItem { public enum SourceType { @JsonProperty("m3u") - M3U + M3U, + + @JsonProperty("m3u-local") + M3U_LOCAL } @NonNull public SourceType type; + + @Nullable public String url; + + @Nullable + public String path; @Nullable public String cookies; diff --git a/src/test/java/com/mykola2312/mptv/TestConfig.java b/src/test/java/com/mykola2312/mptv/TestConfig.java index 61dfff8..6310b4b 100644 --- a/src/test/java/com/mykola2312/mptv/TestConfig.java +++ b/src/test/java/com/mykola2312/mptv/TestConfig.java @@ -34,6 +34,11 @@ public class TestConfig { "url": "https://example.com/list.m3u", "cookies": null, "singleCategory": null + }, + { + "type": "m3u-local", + "path": "test.m3u8", + "singleCategory": "test" } ] } @@ -76,7 +81,15 @@ public class TestConfig { SourceItem m3u = config.sources.get(0); assertEquals(SourceItem.SourceType.M3U, m3u.type); assertEquals("https://example.com/list.m3u", m3u.url); + assertNull(m3u.path); assertNull(m3u.cookies); assertNull(m3u.singleCategory); + + SourceItem m3uLocal = config.sources.get(1); + assertEquals(SourceItem.SourceType.M3U_LOCAL, m3uLocal.type); + assertEquals("test.m3u8", m3uLocal.path); + assertEquals("test", m3uLocal.singleCategory); + assertNull(m3uLocal.url); + assertNull(m3uLocal.cookies); } }