mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-30 19:54:16 -04:00
Cleaning up
This commit is contained in:
parent
1db5b8b644
commit
976ffbaa41
@ -27,9 +27,17 @@ namespace Kyoo.Models
|
|||||||
|
|
||||||
[JsonIgnore] public virtual IEnumerable<Track> Tracks { get; set; }
|
[JsonIgnore] public virtual IEnumerable<Track> Tracks { get; set; }
|
||||||
|
|
||||||
public string ShowTitle; //Used in the API response only
|
public string ShowTitle => Show.Title; // Used in the API response only
|
||||||
public string Link; //Used in the API response only
|
public string Link => GetSlug(Show.Slug, SeasonNumber, EpisodeNumber);
|
||||||
public string Thumb; //Used in the API response only
|
public string Thumb
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (Show != null)
|
||||||
|
return "thumb/" + Link;
|
||||||
|
return ImgPrimary;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public Episode()
|
public Episode()
|
||||||
@ -91,21 +99,7 @@ namespace Kyoo.Models
|
|||||||
{
|
{
|
||||||
return showSlug + "-s" + seasonNumber + "e" + episodeNumber;
|
return showSlug + "-s" + seasonNumber + "e" + episodeNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Episode SetLink(string showSlug)
|
|
||||||
{
|
|
||||||
Link = GetSlug(showSlug, SeasonNumber, EpisodeNumber);
|
|
||||||
Thumb = "thumb/" + Link;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Episode LoadShowDetails()
|
|
||||||
{
|
|
||||||
SetLink(Show.Slug);
|
|
||||||
ShowTitle = Show.Title;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Episode Merge(Episode other)
|
public Episode Merge(Episode other)
|
||||||
{
|
{
|
||||||
if (other == null)
|
if (other == null)
|
||||||
|
@ -27,7 +27,14 @@ namespace Kyoo.Models
|
|||||||
|
|
||||||
public WatchItem() { }
|
public WatchItem() { }
|
||||||
|
|
||||||
public WatchItem(long episodeID, string showTitle, string showSlug, long seasonNumber, long episodeNumber, string title, DateTime? releaseDate, string path)
|
public WatchItem(long episodeID,
|
||||||
|
string showTitle,
|
||||||
|
string showSlug,
|
||||||
|
long seasonNumber,
|
||||||
|
long episodeNumber,
|
||||||
|
string title,
|
||||||
|
DateTime? releaseDate,
|
||||||
|
string path)
|
||||||
{
|
{
|
||||||
EpisodeID = episodeID;
|
EpisodeID = episodeID;
|
||||||
ShowTitle = showTitle;
|
ShowTitle = showTitle;
|
||||||
@ -42,11 +49,31 @@ namespace Kyoo.Models
|
|||||||
Link = Episode.GetSlug(ShowSlug, seasonNumber, episodeNumber);
|
Link = Episode.GetSlug(ShowSlug, seasonNumber, episodeNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
public WatchItem(long episodeID, string showTitle, string showSlug, long seasonNumber, long episodeNumber, string title, DateTime? releaseDate, string path, Track[] audios, Track[] subtitles)
|
public WatchItem(long episodeID,
|
||||||
|
string showTitle,
|
||||||
|
string showSlug,
|
||||||
|
long seasonNumber,
|
||||||
|
long episodeNumber,
|
||||||
|
string title,
|
||||||
|
DateTime? releaseDate,
|
||||||
|
string path,
|
||||||
|
IEnumerable<Track> audios,
|
||||||
|
IEnumerable<Track> subtitles)
|
||||||
: this(episodeID, showTitle, showSlug, seasonNumber, episodeNumber, title, releaseDate, path)
|
: this(episodeID, showTitle, showSlug, seasonNumber, episodeNumber, title, releaseDate, path)
|
||||||
{
|
{
|
||||||
Audios = audios;
|
Audios = audios;
|
||||||
Subtitles = subtitles;
|
Subtitles = subtitles;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public WatchItem(Episode episode)
|
||||||
|
: this(episode.ID,
|
||||||
|
episode.Show.Title,
|
||||||
|
episode.Show.Slug,
|
||||||
|
episode.SeasonNumber,
|
||||||
|
episode.EpisodeNumber,
|
||||||
|
episode.Title,
|
||||||
|
episode.ReleaseDate,
|
||||||
|
episode.Path)
|
||||||
|
{ }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -110,55 +110,51 @@ namespace Kyoo.Controllers
|
|||||||
|
|
||||||
public IEnumerable<Episode> GetEpisodes(string showSlug)
|
public IEnumerable<Episode> GetEpisodes(string showSlug)
|
||||||
{
|
{
|
||||||
return from episode in _database.Episodes where episode.Show.Slug == showSlug select episode.SetLink(showSlug);
|
return _database.Episodes.Where(episode => episode.Show.Slug == showSlug);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<Episode> GetEpisodes(string showSlug, long seasonNumber)
|
public IEnumerable<Episode> GetEpisodes(string showSlug, long seasonNumber)
|
||||||
{
|
{
|
||||||
return (from episode in _database.Episodes where episode.SeasonNumber == seasonNumber
|
return _database.Episodes.Where(x => x.SeasonNumber == seasonNumber
|
||||||
&& episode.Show.Slug == showSlug select episode)
|
&& x.Show.Slug == showSlug)
|
||||||
.OrderBy(x => x.EpisodeNumber)
|
.OrderBy(x => x.EpisodeNumber);
|
||||||
.Select(x => x.SetLink(showSlug));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<Episode> GetEpisodes(long showID, long seasonNumber)
|
public IEnumerable<Episode> GetEpisodes(long showID, long seasonNumber)
|
||||||
{
|
{
|
||||||
return from episode in _database.Episodes where episode.ShowID == showID
|
return _database.Episodes.Where(x => x.ShowID == showID
|
||||||
&& episode.SeasonNumber == seasonNumber select episode.SetLink(episode.Show.Slug);
|
&& x.SeasonNumber == seasonNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Episode GetEpisode(string showSlug, long seasonNumber, long episodeNumber)
|
public Episode GetEpisode(string showSlug, long seasonNumber, long episodeNumber)
|
||||||
{
|
{
|
||||||
return (from episode in _database.Episodes where episode.EpisodeNumber == episodeNumber
|
return _database.Episodes.FirstOrDefault(x => x.EpisodeNumber == episodeNumber
|
||||||
&& episode.SeasonNumber == seasonNumber
|
&& x.SeasonNumber == seasonNumber
|
||||||
&& episode.Show.Slug == showSlug select episode.SetLink(showSlug)).FirstOrDefault();
|
&& x.Show.Slug == showSlug);
|
||||||
}
|
}
|
||||||
|
|
||||||
public WatchItem GetWatchItem(string showSlug, long seasonNumber, long episodeNumber, bool complete = true)
|
public WatchItem GetWatchItem(string showSlug, long seasonNumber, long episodeNumber, bool complete = true)
|
||||||
{
|
{
|
||||||
WatchItem item = (from episode in _database.Episodes where episode.SeasonNumber == seasonNumber
|
WatchItem item = _database.Episodes.Where(x => x.SeasonNumber == seasonNumber
|
||||||
&& episode.EpisodeNumber == episodeNumber && episode.Show.Slug == showSlug
|
&& x.EpisodeNumber == episodeNumber
|
||||||
select new WatchItem(episode.ID,
|
&& x.Show.Slug == showSlug)
|
||||||
episode.Show.Title,
|
.Select(x => new WatchItem(x)).FirstOrDefault();
|
||||||
episode.Show.Slug,
|
|
||||||
seasonNumber,
|
|
||||||
episodeNumber,
|
|
||||||
episode.Title,
|
|
||||||
episode.ReleaseDate,
|
|
||||||
episode.Path)).FirstOrDefault();
|
|
||||||
if (item == null)
|
if (item == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
(item.Video, item.Audios, item.Subtitles) = GetStreams(item.EpisodeID, item.Link);
|
(item.Video, item.Audios, item.Subtitles) = GetStreams(item.EpisodeID, item.Link);
|
||||||
if(episodeNumber > 1)
|
|
||||||
item.PreviousEpisode = showSlug + "-s" + seasonNumber + "e" + (episodeNumber - 1);
|
if (episodeNumber > 1)
|
||||||
else if(seasonNumber > 1)
|
item.PreviousEpisode = Episode.GetSlug(showSlug, seasonNumber, episodeNumber - 1);
|
||||||
item.PreviousEpisode = showSlug + "-s" + (seasonNumber - 1) + "e" + GetSeasonCount(showSlug, seasonNumber - 1);
|
else if (seasonNumber > 1)
|
||||||
|
item.PreviousEpisode = Episode.GetSlug(showSlug, seasonNumber - 1, GetSeasonCount(showSlug, seasonNumber - 1));
|
||||||
|
|
||||||
if (episodeNumber >= GetSeasonCount(showSlug, seasonNumber))
|
if (episodeNumber >= GetSeasonCount(showSlug, seasonNumber))
|
||||||
item.NextEpisode = GetEpisode(showSlug, seasonNumber + 1, 1);
|
item.NextEpisode = GetEpisode(showSlug, seasonNumber + 1, 1);
|
||||||
else
|
else
|
||||||
item.NextEpisode = GetEpisode(showSlug, seasonNumber, episodeNumber + 1);
|
item.NextEpisode = GetEpisode(showSlug, seasonNumber, episodeNumber + 1);
|
||||||
|
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -257,9 +253,7 @@ namespace Kyoo.Controllers
|
|||||||
|
|
||||||
public IEnumerable<Episode> SearchEpisodes(string searchQuery)
|
public IEnumerable<Episode> SearchEpisodes(string searchQuery)
|
||||||
{
|
{
|
||||||
return (from episode in _database.Episodes where EF.Functions.Like(episode.Title, $"%{searchQuery}%")
|
return _database.Episodes.Where(x => EF.Functions.Like(x.Title, $"%{searchQuery}%")).Take(20);
|
||||||
select episode.LoadShowDetails())
|
|
||||||
.Take(20);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<Collection> SearchCollections(string searchQuery)
|
public IEnumerable<Collection> SearchCollections(string searchQuery)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user