|
|
|
|
@ -304,20 +304,24 @@ public class Vod { |
|
|
|
|
this.position = position; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void checkToAdd(Episode episode) { |
|
|
|
|
if (!getEpisodes().contains(episode)) getEpisodes().add(episode); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void createEpisode(String data) { |
|
|
|
|
String[] urls = data.contains("#") ? data.split("#") : new String[]{data}; |
|
|
|
|
for (int i = 0; i < urls.length; i++) { |
|
|
|
|
String[] split = urls[i].split("\\$"); |
|
|
|
|
String number = String.format(Locale.getDefault(), "%02d", i + 1); |
|
|
|
|
Episode episode = split.length > 1 ? Episode.create(split[0].isEmpty() ? number : split[0].trim(), split[1]) : Episode.create(number, urls[i]); |
|
|
|
|
getEpisodes().add(check(episode)); |
|
|
|
|
checkToAdd(episode); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void createEpisode(List<Episode> items) { |
|
|
|
|
getEpisodes().clear(); |
|
|
|
|
Episode.Sorter.sort(items); |
|
|
|
|
for (Vod.Flag.Episode item : items) getEpisodes().add(check(item)); |
|
|
|
|
for (Vod.Flag.Episode item : items) checkToAdd(item); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void toggle(boolean activated, Episode episode) { |
|
|
|
|
@ -342,11 +346,6 @@ public class Vod { |
|
|
|
|
return strict ? null : getEpisodes().get(0); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public Episode check(Episode episode) { |
|
|
|
|
while (getEpisodes().contains(episode)) check(episode.rename()); |
|
|
|
|
return episode; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static List<Flag> create(String flag, String name, String url) { |
|
|
|
|
Vod.Flag item = new Vod.Flag(flag); |
|
|
|
|
item.getEpisodes().add(Episode.create(name, url)); |
|
|
|
|
@ -409,11 +408,6 @@ public class Vod { |
|
|
|
|
return url; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public Episode rename() { |
|
|
|
|
setName(getName().concat("_")); |
|
|
|
|
return this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public int getNumber() { |
|
|
|
|
return number; |
|
|
|
|
} |
|
|
|
|
|