continue;
}
- QString newFileName = env.value("FileName", "") + "." + r.value("extension").toString();
- QString newFilePath = env.value("PathName", "");
+ RenameParser::Environment videoFileEnv;
+ bool useVideoFileEnv = false;
+ if (!env.value("RenameAsVideoFile", "").isEmpty())
+ {
+ QSqlQuery &q = db->prepare(
+ "SELECT rd.* "
+ " FROM rename_data rd "
+ " JOIN rename_data rd2 ON ( "
+ " rd.aid = rd2.aid "
+ " AND rd.epno = rd2.epno "
+ " AND rd2.type = rd.type "
+ // TODO there should only be one of those.
+ // Waiting for video_codec normalization
+ " AND rd.video_codec <> 'none' "
+ " AND rd.video_codec <> '') "
+ " WHERE rd2.fid = :fid "
+ " LIMIT 1");
+ q.bindValue(":fid", fl.fid);
+
+ if (db->exec(q) && q.next())
+ {
+ QSqlRecord r = q.record();
+ setupRenameEnv(r, videoFileEnv);
+ renameEngine->evaluate(videoFileEnv);
+
+ if (!videoFileEnv.value("FileName", "").isEmpty())
+ useVideoFileEnv = true;
+ }
+ }
+
+ QString newFileName = (useVideoFileEnv ? videoFileEnv : env).value("FileName", "") + "." + r.value("extension").toString();
+ QString newFilePath = (useVideoFileEnv ? videoFileEnv : env).value("PathName", "");
QRegExp rx(settings->get("renameSanitizeRegex", QString("[/\\:*\"?<>|\\r\\n]")));
newFileName = newFileName.replace(rx, "");
namespace LocalMyList {
-void setupRenameEnv(const QSqlRecord &record, RenameParser::Environment &env)
+void setupRenameEnv(const QSqlRecord &record, RenameParser::Environment &env, bool renamingAsVideoFile)
{
env["ATr"] = record.value("anime_title_romaji").toString();
env["MinRelatedEpNo"] = record.value("min_related_epno").toString();
env["MaxRelatedEpNo"] = record.value("max_related_epno").toString();
+
+ // These variables are added for rename as video
+ env["FileExtension"] = record.value("extension").toString();
+ env["RenamingAsVideoFile"] = renamingAsVideoFile ? "1" : "";
}
#ifdef Q_OS_WIN
namespace LocalMyList {
-void LOCALMYLISTSHARED_EXPORT setupRenameEnv(const QSqlRecord &record, RenameParser::Environment &env);
+void LOCALMYLISTSHARED_EXPORT setupRenameEnv(const QSqlRecord &record, RenameParser::Environment &env, bool renamingAsVideoFile = false);
QString exactPath(const QString &path);
bool LOCALMYLISTSHARED_EXPORT renameFile(const QString &oldName, const QString &newName, QString *actualPath = 0);