parent
e631bcf02a
commit
282b123960
@ -0,0 +1,99 @@ |
||||
package com.github.tvbox.osc.util.live; |
||||
|
||||
import com.google.gson.JsonArray; |
||||
import com.google.gson.JsonObject; |
||||
|
||||
import java.io.BufferedReader; |
||||
import java.io.StringReader; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.LinkedHashMap; |
||||
|
||||
public class TxtSubscribe { |
||||
public static void parse(LinkedHashMap<String, LinkedHashMap<String, ArrayList<String>>> linkedHashMap, String str) { |
||||
ArrayList<String> arrayList; |
||||
try { |
||||
BufferedReader bufferedReader = new BufferedReader(new StringReader(str)); |
||||
String readLine = bufferedReader.readLine(); |
||||
LinkedHashMap<String, ArrayList<String>> linkedHashMap2 = new LinkedHashMap<>(); |
||||
LinkedHashMap<String, ArrayList<String>> linkedHashMap3 = linkedHashMap2; |
||||
while (readLine != null) { |
||||
if (readLine.trim().isEmpty()) { |
||||
readLine = bufferedReader.readLine(); |
||||
} else { |
||||
String[] split = readLine.split(","); |
||||
if (split.length < 2) { |
||||
readLine = bufferedReader.readLine(); |
||||
} else { |
||||
if (readLine.contains("#genre#")) { |
||||
String trim = split[0].trim(); |
||||
if (!linkedHashMap.containsKey(trim)) { |
||||
linkedHashMap3 = new LinkedHashMap<>(); |
||||
linkedHashMap.put(trim, linkedHashMap3); |
||||
} else { |
||||
linkedHashMap3 = linkedHashMap.get(trim); |
||||
} |
||||
} else { |
||||
String trim2 = split[0].trim(); |
||||
for (String str2 : split[1].trim().split("#")) { |
||||
String trim3 = str2.trim(); |
||||
if (!trim3.isEmpty() && (trim3.startsWith("http") || trim3.startsWith("rtsp") || trim3.startsWith("rtmp"))) { |
||||
if (!linkedHashMap3.containsKey(trim2)) { |
||||
arrayList = new ArrayList<>(); |
||||
linkedHashMap3.put(trim2, arrayList); |
||||
} else { |
||||
arrayList = linkedHashMap3.get(trim2); |
||||
} |
||||
if (!arrayList.contains(trim3)) { |
||||
arrayList.add(trim3); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
readLine = bufferedReader.readLine(); |
||||
} |
||||
} |
||||
} |
||||
bufferedReader.close(); |
||||
if (linkedHashMap2.isEmpty()) { |
||||
return; |
||||
} |
||||
linkedHashMap.put("未分组", linkedHashMap2); |
||||
} catch (Throwable unused) { |
||||
} |
||||
} |
||||
|
||||
public static JsonArray live2JsonArray(LinkedHashMap<String, LinkedHashMap<String, ArrayList<String>>> linkedHashMap) { |
||||
JsonArray jsonarr = new JsonArray(); |
||||
for (String str : linkedHashMap.keySet()) { |
||||
JsonArray jsonarr2 = new JsonArray(); |
||||
LinkedHashMap<String, ArrayList<String>> linkedHashMap2 = linkedHashMap.get(str); |
||||
if (!linkedHashMap2.isEmpty()) { |
||||
for (String str2 : linkedHashMap2.keySet()) { |
||||
ArrayList<String> arrayList = linkedHashMap2.get(str2); |
||||
if (!arrayList.isEmpty()) { |
||||
JsonArray jsonarr3 = new JsonArray(); |
||||
for (int i = 0; i < arrayList.size(); i++) { |
||||
jsonarr3.add(arrayList.get(i)); |
||||
} |
||||
JsonObject jsonobj = new JsonObject(); |
||||
try { |
||||
jsonobj.addProperty("name", str2); |
||||
jsonobj.add("urls", jsonarr3); |
||||
} catch (Throwable e) { |
||||
} |
||||
jsonarr2.add(jsonobj); |
||||
} |
||||
} |
||||
JsonObject jsonobj2 = new JsonObject(); |
||||
try { |
||||
jsonobj2.addProperty("group", str); |
||||
jsonobj2.add("channels", jsonarr2); |
||||
} catch (Throwable e) { |
||||
} |
||||
jsonarr.add(jsonobj2); |
||||
} |
||||
} |
||||
return jsonarr; |
||||
} |
||||
} |
||||
Loading…
Reference in new issue