]> Some of my projects - localmylist.git/commitdiff
Add Min/MaxRelatedEpNo variables to the rename script env.
authorAPTX <marek321@gmail.com>
Thu, 25 Apr 2013 17:23:51 +0000 (19:23 +0200)
committerAPTX <marek321@gmail.com>
Thu, 25 Apr 2013 17:23:51 +0000 (19:23 +0200)
This allows to add an episode range the file covers, rather than just the first/main episode number.

localmylist/renameutils.cpp
localmylist/share/schema/schema.sql

index 4e4892d74b656b370c3259abc4906b7010c39f29..a1e115f7b0ce8ccf6b411e409b83980b3a9f1bfb 100644 (file)
@@ -60,6 +60,9 @@ void setupRenameEnv(const QSqlRecord &record, RenameParser::Environment &env)
        env["CurrentFilePath"] = QFileInfo(record.value("path").toString()).path();
        env["HostId"] = record.value("host_id").toString();
        env["CurrentHostId"] = QString::number(MyList::instance()->hostId());
+
+       env["MinRelatedEpNo"] = record.value("min_related_epno").toString();
+       env["MaxRelatedEpNo"] = record.value("max_related_epno").toString();
 }
 
 } // namespace LocalMyList
index c7743a0d6ac8ff390f61c362d32d80c105d5fc8a..be2f3132ca110f6aa4d230c9365a64e0bedf834d 100644 (file)
@@ -265,7 +265,17 @@ CREATE VIEW rename_data AS
                        e.title_kanji AS episode_title_kanji, e.length AS episode_length, e.airdate, e.state, e.type, e.recap, e.rating, e.votes, e.my_vote, e.my_vote_date,
                f.anidb_update, f.entry_update, f.my_update, f.ed2k, f.size, f.length, f.extension, f.group_name, f.group_name_short, f.crc, f.release_date, f.version, f.censored, f.deprecated, f.source, q.quality_id,
                        f.quality, f.resolution, f.video_codec, f.audio_codec, f.audio_language, f.subtitle_language, f.aspect_ratio, f.my_watched, f.my_state, f.my_file_state, f.my_storage, f.my_source,
-                       f.my_other, fl.location_id, fl.host_id, fl.path, fl.renamed, fl.failed_rename
+                       f.my_other, fl.location_id, fl.host_id, fl.path, fl.renamed, fl.failed_rename,
+               (SELECT min(fere.epno) min_related_epno FROM file sqf
+                       JOIN episode e ON e.eid = sqf.eid
+                       JOIN file_episode_rel fer ON fer.fid = sqf.fid
+                       JOIN episode fere ON fere.eid = fer.eid AND fere.aid = sqf.aid AND fere.type = e.type
+                       WHERE sqf.fid = f.fid),
+               (SELECT max(fere.epno) max_related_epno FROM file sqf
+                       JOIN episode e ON e.eid = sqf.eid
+                       JOIN file_episode_rel fer ON fer.fid = sqf.fid
+                       JOIN episode fere ON fere.eid = fer.eid AND fere.aid = sqf.aid AND fere.type = e.type
+                       WHERE sqf.fid = f.fid)
        FROM file f
                JOIN anime a ON a.aid = f.aid
                JOIN episode e ON e.eid = f.eid