package org.lodder.subtools.sublibrary.model;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.lodder.subtools.sublibrary.data.thetvdb.model.TheTVDBEpisode;
import org.lodder.subtools.sublibrary.data.tvrage.model.TVRageEpisode;
public class TvRelease extends Release {
private String showname;
private String title;
private int season, tvdbid, tvrageid;
private List<Integer> episodeNumbers;
private String originalShowName;
private boolean special;
public TvRelease() {
super(VideoType.EPISODE);
showname = "";
title = "";
season = 0;
episodeNumbers = new ArrayList<Integer>();
setTvdbid(0);
setTvrageid(0);
setOriginalShowName("");
setSpecial(false);
}
public TvRelease(String show, int season, List<Integer> episodeNumbers, File file, String extension, String description, String team, boolean special) {
super(VideoType.EPISODE, file, extension, description, team);
this.showname = show;
title = "";
this.season = season;
this.episodeNumbers = episodeNumbers;
setTvdbid(0);
setTvrageid(0);
setOriginalShowName("");
setSpecial(special);
}
public void setShow(String show) {
this.showname = show;
}
public String getShow() {
return showname;
}
public void setSeason(int season) {
this.season = season;
}
public int getSeason() {
return season;
}
public void setEpisodeNumbers(List<Integer> episodeNumbers) {
this.episodeNumbers = episodeNumbers;
}
public List<Integer> getEpisodeNumbers() {
return episodeNumbers;
}
public void setTitle(String title) {
this.title = title;
}
public String getTitle() {
return title;
}
/**
* @return the tvdbid
*/
public int getTvdbid() {
return tvdbid;
}
/**
* @param tvdbid the tvdbid to set
*/
public void setTvdbid(int tvdbid) {
this.tvdbid = tvdbid;
}
/**
* @return the orignalShowName
*/
public String getOriginalShowName() {
return originalShowName;
}
/**
* @param orignalShowName the orignalShowName to set
*/
public void setOriginalShowName(String originalShowName) {
this.originalShowName = originalShowName;
}
public void updateTVRageEpisodeInfo(TVRageEpisode tvrageEpisode) {
if (tvrageEpisode.getTitle().contains("$")){
this.setTitle(tvrageEpisode.getTitle().replaceAll("\\$", "")); // update to reflect correct episode title and fix for $
}else{
this.setTitle(tvrageEpisode.getTitle()); // update to reflect correct episode title
}
}
public void updateTvdbEpisodeInfo(TheTVDBEpisode tvdbEpisode){
this.setTitle(tvdbEpisode.getEpisodeName()); // update to reflect correct episode title
}
/**
* @return the tvrageid
*/
public int getTvrageid() {
return tvrageid;
}
/**
* @param tvrageid the tvrageid to set
*/
public void setTvrageid(int tvrageid) {
this.tvrageid = tvrageid;
}
/**
* @return the special
*/
public boolean isSpecial() {
return special;
}
/**
* @param special the special to set
*/
public void setSpecial(boolean special) {
this.special = special;
}
public String toString() {
return this.getClass().getSimpleName() + ": " + this.getShow() + " s" + this.getSeason() + " e"
+ this.getEpisodeNumbers().toString() + " " + this.getQuality() + " " + this.getReleasegroup();
}
}