]> git.sur5r.net Git - minitube/blobdiff - src/jsfunctions.cpp
Imported Upstream version 2.3.1
[minitube] / src / jsfunctions.cpp
index 961d3f6a5d8e8183bf4fae862b1db49cc037d6db..b23098f6a4ea2920f740c7f08dc9d747933d5930 100644 (file)
@@ -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()");
 }