return readOpenFileData(q);
}
+OpenFileData Database::openEpisode(int aid, int epno, const QString &type)
+{
+ QSqlQuery &q = prepare(
+ "SELECT f.fid, a.title_romaji, e.title_english, e.epno, fl.path, fl.host_id, "
+ " CASE WHEN split_part(f.resolution, 'x', 1) = '' OR split_part(f.resolution, 'x', 2) = '' THEN 0 ELSE split_part(f.resolution, 'x', 1)::int * split_part(f.resolution, 'x', 2)::int END pixels "
+ " FROM file f "
+ " LEFT JOIN anime a ON f.aid = a.aid "
+ " LEFT JOIN episode e ON f.eid = e.eid "
+ " LEFT JOIN file_location fl ON fl.fid = f.fid "
+ " WHERE f.aid = :aid "
+ " AND e.epno = :epno "
+ " AND e.type = :type "
+ " AND fl.path IS NOT NULL "
+ "ORDER BY pixels DESC, f.version DESC ");
+ q.bindValue(":aid", aid);
+ q.bindValue(":epno", epno);
+ q.bindValue(":type", type);
+
+ return readOpenFileData(q);
+}
+
HostInfo Database::getHostInfo(const QString &hostName)
{
QSqlQuery &q = prepare(
LocalMyList::OpenFileData openFileByTitle(const QString &title, int epno = 0);
LocalMyList::OpenFileData openFileByEid(int eid);
LocalMyList::OpenFileData openFile(int fid);
+ LocalMyList::OpenFileData openEpisode(int aid, int epno, const QString &type = "");
LocalMyList::HostInfo getHostInfo(const QString &hostName);