X-Git-Url: https://git.sur5r.net/?p=minitube;a=blobdiff_plain;f=src%2Fjsfunctions.cpp;h=b23098f6a4ea2920f740c7f08dc9d747933d5930;hp=961d3f6a5d8e8183bf4fae862b1db49cc037d6db;hb=4250cf62c1410d5c4e16720128264aeb59c8dc17;hpb=5ecc9c04fb173c5693bcded5191d29816304d12c diff --git a/src/jsfunctions.cpp b/src/jsfunctions.cpp index 961d3f6..b23098f 100644 --- a/src/jsfunctions.cpp +++ b/src/jsfunctions.cpp @@ -40,7 +40,7 @@ JsFunctions::JsFunctions(QObject *parent) : QObject(parent), engine(0) { else qWarning() << file.errorString() << file.fileName(); QFileInfo info(file); - if (info.lastModified().toTime_t() < QDateTime::currentDateTime().toTime_t() - 3600) + if (info.lastModified().toTime_t() < QDateTime::currentDateTime().toTime_t() - 1800) loadJs(); } else { QFile resFile(QLatin1String(":/") + jsFilename()); @@ -75,6 +75,7 @@ const QString & JsFunctions::jsPath() { void JsFunctions::loadJs() { QUrl url(QLatin1String(Constants::WEBSITE) + "-ws/" + jsFilename()); + url.addQueryItem("v", Constants::VERSION); NetworkReply* reply = The::http()->get(url); connect(reply, SIGNAL(data(QByteArray)), SLOT(gotJs(QByteArray))); connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(errorJs(QNetworkReply*))); @@ -94,21 +95,49 @@ void JsFunctions::errorJs(QNetworkReply *reply) { << reply->url().toString() << reply->errorString(); } -QString JsFunctions::evaluateFunction(const QString &function) { +QString JsFunctions::evaluate(const QString &js) { if (!engine) return QString(); - QScriptValue value = engine->evaluate(function); + QScriptValue value = engine->evaluate(js); if (value.isUndefined()) - qWarning() << "Undefined result for" << function; + qWarning() << "Undefined result for" << js; if (value.isError()) - qWarning() << "Error in" << function << value.toString(); + qWarning() << "Error in" << js << value.toString(); return value.toString(); } QString JsFunctions::decryptSignature(const QString &s) { - return evaluateFunction("decryptSignature('" + s + "')"); + return evaluate("decryptSignature('" + s + "')"); } QString JsFunctions::decryptAgeSignature(const QString &s) { - return evaluateFunction("decryptAgeSignature('" + s + "')"); + return evaluate("decryptAgeSignature('" + s + "')"); +} + +QString JsFunctions::videoIdRE() { + return evaluate("videoIdRE()"); +} + +QString JsFunctions::videoTokenRE() { + return evaluate("videoTokenRE()"); +} + +QString JsFunctions::videoInfoFmtMapRE() { + return evaluate("videoInfoFmtMapRE()"); +} + +QString JsFunctions::webPageFmtMapRE() { + return evaluate("webPageFmtMapRE()"); +} + +QString JsFunctions::ageGateRE() { + return evaluate("ageGateRE()"); +} + +QString JsFunctions::jsPlayerRE() { + return evaluate("jsPlayerRE()"); +} + +QString JsFunctions::signatureFunctionNameRE() { + return evaluate("signatureFunctionNameRE()"); }