Subrip to WebVTT on the fly transcoder finished.

This commit is contained in:
Zoe Roux
2019-09-19 12:24:08 +02:00
parent 8fc703ff15
commit f67293d065
6 changed files with 131 additions and 8 deletions
@@ -24,6 +24,7 @@ namespace Kyoo.InternalAPI
IEnumerable<Library> GetLibraries();
Show GetShowBySlug(string slug);
Season GetSeason(string showSlug, long seasonNumber);
List<Episode> GetEpisodes(string showSlug);
List<Episode> GetEpisodes(string showSlug, long seasonNumber);
Episode GetEpisode(string showSlug, long seasonNumber, long episodeNumber);
WatchItem GetWatchItem(string showSlug, long seasonNumber, long episodeNumber, bool complete = true);
@@ -48,5 +49,7 @@ namespace Kyoo.InternalAPI
long GetOrCreateStudio(Studio studio);
void RegisterShowPeople(long showID, List<People> actors);
void ClearSubtitles(long episodeID);
}
}
@@ -318,6 +318,24 @@ namespace Kyoo.InternalAPI
}
}
public List<Episode> GetEpisodes(string showSlug)
{
string query = "SELECT * FROM episodes JOIN shows ON shows.id = episodes.showID WHERE shows.slug = $showSlug ORDER BY episodeNumber;";
using (SQLiteCommand cmd = new SQLiteCommand(query, sqlConnection))
{
cmd.Parameters.AddWithValue("$showSlug", showSlug);
SQLiteDataReader reader = cmd.ExecuteReader();
List<Episode> episodes = new List<Episode>();
while (reader.Read())
episodes.Add(Episode.FromReader(reader).SetThumb(showSlug));
return episodes;
}
}
public List<Episode> GetEpisodes(string showSlug, long seasonNumber)
{
string query = "SELECT * FROM episodes JOIN shows ON shows.id = episodes.showID WHERE shows.slug = $showSlug AND episodes.seasonNumber = $seasonNumber ORDER BY episodeNumber;";
@@ -735,6 +753,17 @@ namespace Kyoo.InternalAPI
}
}
}
public void ClearSubtitles(long episodeID)
{
string query = "DELETE FROM tracks WHERE episodeID = $episodeID;";
using (SQLiteCommand cmd = new SQLiteCommand(query, sqlConnection))
{
cmd.Parameters.AddWithValue("$episodeID", episodeID);
cmd.ExecuteNonQuery();
}
}
#endregion
}
}
@@ -1,8 +1,10 @@
using Kyoo.InternalAPI.TranscoderLink;
using Kyoo.Models;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using System.Diagnostics;
using System.IO;
using System.Threading.Tasks;
namespace Kyoo.InternalAPI
{