summary refs log tree commit diff
path: root/pkgs/applications/video/clipgrab/yt-dlp-path.patch
blob: 5a9a4b6dcc48dc9740164e67380788e5e054ad8b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
--- a/main.cpp
+++ b/main.cpp
@@ -91,14 +91,5 @@ int main(int argc, char *argv[])
         w.show();
     }
 
-    QTimer::singleShot(0, [=] {
-       cg->getUpdateInfo();
-       QObject::connect(cg, &ClipGrab::updateInfoProcessed, [cg] {
-           bool force = QSettings().value("forceYoutubeDlDownload", false).toBool();
-           if (force) QSettings().setValue("forceYoutubeDlDownload", false);
-           cg->downloadYoutubeDl(force);
-       });
-    });
-
     return app.exec();
 }
--- a/youtube_dl.cpp
+++ b/youtube_dl.cpp
@@ -8,52 +8,16 @@ YoutubeDl::YoutubeDl()
 QString YoutubeDl::path = QString();
 
 QString YoutubeDl::find(bool force) {
-    if (!force && !path.isEmpty()) return path;
-
-    // Prefer downloaded youtube-dl
-    QString localPath = QStandardPaths::locate(QStandardPaths::AppDataLocation, "yt-dlp");
-    QProcess* process = instance(localPath, QStringList() << "--version");
-    process->start();
-    process->waitForFinished();
-    process->deleteLater();
-    if (process->state() != QProcess::NotRunning) process->kill();
-    if (process->exitCode() == QProcess::ExitStatus::NormalExit) {
-        path = localPath;
-        return path;
-    }
-
-    // Try system-wide youtube-dlp installation
-    QString globalPath = QStandardPaths::findExecutable("yt-dlp");
-    process = instance(globalPath, QStringList() << "--version");
-    process->start();
-    process->waitForFinished();
-    process->deleteLater();
-    if (process->state() != QProcess::NotRunning) process->kill();
-    if (process->exitCode() == QProcess::ExitStatus::NormalExit) {
-        path = globalPath;
-        return path;
-    }
-
-    return "";
+    // We supply yt-dlp from nixpkgs, so the downloading
+    // machinery is not needed anymore.
+    (void)force;
+    return path;
 }
 
 QProcess* YoutubeDl::instance(QStringList arguments) {
-    return instance(find(), arguments);
-}
-
-QProcess* YoutubeDl::instance(QString path, QStringList arguments) {
     QProcess *process = new QProcess();
 
-    QString execPath = QCoreApplication::applicationDirPath();
-    QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
-    env.insert("PATH", execPath + ":" + env.value("PATH"));
-    process->setEnvironment(env.toStringList());
-
-    #if defined Q_OS_WIN
-        process->setProgram(execPath + "/python/python.exe");
-    #else
-        process->setProgram(QStandardPaths::findExecutable("python3"));
-    #endif
+    process->setProgram(path);
 
     QSettings settings;
     QStringList proxyArguments;
@@ -81,7 +45,7 @@ QProcess* YoutubeDl::instance(QString path, QStringList arguments) {
         networkArguments << "--force-ipv4";
     }
 
-    process->setArguments(QStringList() << path << arguments << proxyArguments << networkArguments);
+    process->setArguments(QStringList() << arguments << proxyArguments << networkArguments);
     return process;
 }