|
|
|
|
@ -28,7 +28,8 @@ public class LiveParser { |
|
|
|
|
|
|
|
|
|
private static final Pattern CATCHUP_SOURCE = Pattern.compile(".*catchup-source=\"(.?|.+?)\".*"); |
|
|
|
|
private static final Pattern CATCHUP = Pattern.compile(".*catchup=\"(.?|.+?)\".*"); |
|
|
|
|
private static final Pattern TVG_URL = Pattern.compile(".*x-tvg-url=[\"']?([^\"'\\n,]+(?:,[^\"'\\n,]+)*)[\"']?"); |
|
|
|
|
private static final Pattern TVG_URL = Pattern.compile(".*tvg-url=([^\\s]+)"); |
|
|
|
|
private static final Pattern URL_TVG = Pattern.compile(".*url-tvg=([^\\s]+)"); |
|
|
|
|
private static final Pattern TVG_NAME = Pattern.compile(".*tvg-name=\"(.?|.+?)\".*"); |
|
|
|
|
private static final Pattern TVG_LOGO = Pattern.compile(".*tvg-logo=\"(.?|.+?)\".*"); |
|
|
|
|
private static final Pattern GROUP = Pattern.compile(".*group-title=\"(.?|.+?)\".*"); |
|
|
|
|
@ -88,7 +89,8 @@ public class LiveParser { |
|
|
|
|
} else if (line.startsWith("#EXTM3U")) { |
|
|
|
|
catchup.setType(extract(line, CATCHUP)); |
|
|
|
|
catchup.setSource(extract(line, CATCHUP_SOURCE)); |
|
|
|
|
if (live.getEpg().isEmpty()) live.setEpg(extract(line, TVG_URL)); |
|
|
|
|
if (live.getEpg().isEmpty()) live.setEpg(extract(line, TVG_URL).replace("\"", "")); |
|
|
|
|
if (live.getEpg().isEmpty()) live.setEpg(extract(line, URL_TVG).replace("\"", "")); |
|
|
|
|
} else if (line.startsWith("#EXTINF:")) { |
|
|
|
|
Group group = live.find(Group.create(extract(line, GROUP), live.isPass())); |
|
|
|
|
channel = group.find(Channel.create(extract(line, NAME))); |
|
|
|
|
|