Content download and output working.
This commit is contained in:
parent
b51a63e977
commit
06cd33151c
226
continuity.ui
226
continuity.ui
@ -7,8 +7,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>394</width>
|
||||
<height>708</height>
|
||||
<width>377</width>
|
||||
<height>522</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
@ -19,17 +19,29 @@
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>394</width>
|
||||
<height>0</height>
|
||||
<width>377</width>
|
||||
<height>522</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>377</width>
|
||||
<height>522</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Continuity 0.0.1</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabs">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>361</width>
|
||||
<height>251</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
</property>
|
||||
@ -39,12 +51,19 @@
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="url_label">
|
||||
<widget class="QLabel" name="audio_url_label">
|
||||
<property name="text">
|
||||
<string>URL:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="audio_tab_playlist">
|
||||
<property name="text">
|
||||
<string>Playlist</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="audio_url_entry">
|
||||
<property name="text">
|
||||
@ -53,7 +72,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="audio_format_select_label">
|
||||
<widget class="QLabel" name="audio_format_label">
|
||||
<property name="text">
|
||||
<string>Audio Format:</string>
|
||||
</property>
|
||||
@ -79,14 +98,14 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="bitrate_select_label_a">
|
||||
<widget class="QLabel" name="bitrate_select_label">
|
||||
<property name="text">
|
||||
<string>Bitrate:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="bitrate_select_a">
|
||||
<widget class="QComboBox" name="bitrate_select">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>128 kb/s</string>
|
||||
@ -102,59 +121,11 @@
|
||||
<string>320 kb/s</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="play_finished_label">
|
||||
<property name="text">
|
||||
<string>Play when finished?:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="play_finished_select">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>yes</string>
|
||||
<string>Best</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>no</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="changelog_box_label_a">
|
||||
<property name="text">
|
||||
<string>Changelog:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTextBrowser" name="changelog_text_box_a">
|
||||
<property name="html">
|
||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">* added more buttons</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="ok_button_a">
|
||||
<property name="text">
|
||||
<string>OK</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="reset_button_a">
|
||||
<property name="text">
|
||||
<string>Reset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@ -172,14 +143,21 @@ p, li { white-space: pre-wrap; }
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="url_entry_box_3">
|
||||
<widget class="QCheckBox" name="video_tab_playlist">
|
||||
<property name="text">
|
||||
<string>Playlist</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="video_url_entry">
|
||||
<property name="text">
|
||||
<string>Paste URL here</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="video_format_select_label">
|
||||
<widget class="QLabel" name="video_format_label">
|
||||
<property name="text">
|
||||
<string>Video Format:</string>
|
||||
</property>
|
||||
@ -205,111 +183,68 @@ p, li { white-space: pre-wrap; }
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="bitrate_select_label_v">
|
||||
<widget class="QLabel" name="resolution_select_label">
|
||||
<property name="text">
|
||||
<string>Bitrate:</string>
|
||||
<string>Resolution:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="bitrate_select_v">
|
||||
<widget class="QComboBox" name="resolution_select">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>128 kb/s</string>
|
||||
<string>Best</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>192 kb/s</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>320 kb/s</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="play_finished_label_v">
|
||||
<property name="text">
|
||||
<string>Play when finished?:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="play_finished_select_v">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>yes</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>no</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="changelog_box_label_v">
|
||||
<property name="text">
|
||||
<string>Changelog:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTextBrowser" name="changelog_text_box_3">
|
||||
<property name="html">
|
||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">* added more buttons</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="ok_button_3">
|
||||
<property name="text">
|
||||
<string>OK</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="reset_button_3">
|
||||
<property name="text">
|
||||
<string>Reset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QProgressBar" name="main_progress_bar">
|
||||
<widget class="KPushButton" name="download_button">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>120</x>
|
||||
<y>430</y>
|
||||
<width>141</width>
|
||||
<height>34</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Download</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTextBrowser" name="output_window">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>270</y>
|
||||
<width>361</width>
|
||||
<height>141</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QProgressBar" name="progressBar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>410</y>
|
||||
<width>361</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>24</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="status_text_label">
|
||||
<property name="text">
|
||||
<string>Status Output</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QMenuBar" name="menubar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>394</width>
|
||||
<height>29</height>
|
||||
<width>377</width>
|
||||
<height>30</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuMandy">
|
||||
@ -351,6 +286,13 @@ p, li { white-space: pre-wrap; }
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KPushButton</class>
|
||||
<extends>QPushButton</extends>
|
||||
<header>kpushbutton.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
330
main.py
330
main.py
@ -7,73 +7,59 @@
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
import sys, os, subprocess, time, psutil
|
||||
from PyQt5.QtWidgets import QApplication, QPushButton
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_MainWindow(object):
|
||||
def setupUi(self, MainWindow):
|
||||
MainWindow.setObjectName("MainWindow")
|
||||
MainWindow.resize(394, 708)
|
||||
MainWindow.resize(377, 522)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
|
||||
MainWindow.setSizePolicy(sizePolicy)
|
||||
MainWindow.setMinimumSize(QtCore.QSize(394, 0))
|
||||
MainWindow.setMinimumSize(QtCore.QSize(377, 522))
|
||||
MainWindow.setMaximumSize(QtCore.QSize(377, 522))
|
||||
self.centralwidget = QtWidgets.QWidget(MainWindow)
|
||||
self.centralwidget.setObjectName("centralwidget")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.tabs = QtWidgets.QTabWidget(self.centralwidget)
|
||||
self.tabs.setGeometry(QtCore.QRect(10, 10, 361, 251))
|
||||
self.tabs.setObjectName("tabs")
|
||||
self.audioTab = QtWidgets.QWidget()
|
||||
self.audioTab.setObjectName("audioTab")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.audioTab)
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.url_label = QtWidgets.QLabel(self.audioTab)
|
||||
self.url_label.setObjectName("url_label")
|
||||
self.verticalLayout_2.addWidget(self.url_label)
|
||||
self.audio_url_label = QtWidgets.QLabel(self.audioTab)
|
||||
self.audio_url_label.setObjectName("audio_url_label")
|
||||
self.verticalLayout_2.addWidget(self.audio_url_label)
|
||||
self.audio_tab_playlist = QtWidgets.QCheckBox(self.audioTab)
|
||||
self.audio_tab_playlist.setObjectName("audio_tab_playlist")
|
||||
self.verticalLayout_2.addWidget(self.audio_tab_playlist)
|
||||
self.audio_url_entry = QtWidgets.QLineEdit(self.audioTab)
|
||||
self.audio_url_entry.setObjectName("audio_url_entry")
|
||||
self.verticalLayout_2.addWidget(self.audio_url_entry)
|
||||
self.audio_format_select_label = QtWidgets.QLabel(self.audioTab)
|
||||
self.audio_format_select_label.setObjectName("audio_format_select_label")
|
||||
self.verticalLayout_2.addWidget(self.audio_format_select_label)
|
||||
self.audio_format_label = QtWidgets.QLabel(self.audioTab)
|
||||
self.audio_format_label.setObjectName("audio_format_label")
|
||||
self.verticalLayout_2.addWidget(self.audio_format_label)
|
||||
self.audio_format_select = QtWidgets.QComboBox(self.audioTab)
|
||||
self.audio_format_select.setObjectName("audio_format_select")
|
||||
self.audio_format_select.addItem("")
|
||||
self.audio_format_select.addItem("")
|
||||
self.audio_format_select.addItem("")
|
||||
self.audio_format_select.addItem("mp3")
|
||||
self.audio_format_select.addItem("ogg")
|
||||
self.audio_format_select.addItem("flac")
|
||||
self.verticalLayout_2.addWidget(self.audio_format_select)
|
||||
self.bitrate_select_label_a = QtWidgets.QLabel(self.audioTab)
|
||||
self.bitrate_select_label_a.setObjectName("bitrate_select_label_a")
|
||||
self.verticalLayout_2.addWidget(self.bitrate_select_label_a)
|
||||
self.bitrate_select_a = QtWidgets.QComboBox(self.audioTab)
|
||||
self.bitrate_select_a.setObjectName("bitrate_select_a")
|
||||
self.bitrate_select_a.addItem("")
|
||||
self.bitrate_select_a.addItem("")
|
||||
self.bitrate_select_a.addItem("")
|
||||
self.verticalLayout_2.addWidget(self.bitrate_select_a)
|
||||
self.play_finished_label = QtWidgets.QLabel(self.audioTab)
|
||||
self.play_finished_label.setObjectName("play_finished_label")
|
||||
self.verticalLayout_2.addWidget(self.play_finished_label)
|
||||
self.play_finished_select = QtWidgets.QComboBox(self.audioTab)
|
||||
self.play_finished_select.setObjectName("play_finished_select")
|
||||
self.play_finished_select.addItem("")
|
||||
self.play_finished_select.addItem("")
|
||||
self.verticalLayout_2.addWidget(self.play_finished_select)
|
||||
self.changelog_box_label_a = QtWidgets.QLabel(self.audioTab)
|
||||
self.changelog_box_label_a.setObjectName("changelog_box_label_a")
|
||||
self.verticalLayout_2.addWidget(self.changelog_box_label_a)
|
||||
self.changelog_text_box_a = QtWidgets.QTextBrowser(self.audioTab)
|
||||
self.changelog_text_box_a.setObjectName("changelog_text_box_a")
|
||||
self.verticalLayout_2.addWidget(self.changelog_text_box_a)
|
||||
self.ok_button_a = QtWidgets.QPushButton(self.audioTab)
|
||||
self.ok_button_a.setObjectName("ok_button_a")
|
||||
self.verticalLayout_2.addWidget(self.ok_button_a)
|
||||
self.reset_button_a = QtWidgets.QPushButton(self.audioTab)
|
||||
self.reset_button_a.setObjectName("reset_button_a")
|
||||
self.verticalLayout_2.addWidget(self.reset_button_a)
|
||||
self.bitrate_select_label = QtWidgets.QLabel(self.audioTab)
|
||||
self.bitrate_select_label.setObjectName("bitrate_select_label")
|
||||
self.verticalLayout_2.addWidget(self.bitrate_select_label)
|
||||
self.bitrate_select = QtWidgets.QComboBox(self.audioTab)
|
||||
self.bitrate_select.setObjectName("bitrate_select")
|
||||
self.bitrate_select.addItem("Best")
|
||||
#self.bitrate_select.addItem("128K")
|
||||
#self.bitrate_select.addItem("256K")
|
||||
#self.bitrate_select.addItem("320K")
|
||||
self.verticalLayout_2.addWidget(self.bitrate_select)
|
||||
self.tabs.addTab(self.audioTab, "")
|
||||
self.videoTab = QtWidgets.QWidget()
|
||||
self.videoTab.setObjectName("videoTab")
|
||||
@ -82,59 +68,45 @@ class Ui_MainWindow(object):
|
||||
self.video_url_label = QtWidgets.QLabel(self.videoTab)
|
||||
self.video_url_label.setObjectName("video_url_label")
|
||||
self.verticalLayout_4.addWidget(self.video_url_label)
|
||||
self.url_entry_box_3 = QtWidgets.QLineEdit(self.videoTab)
|
||||
self.url_entry_box_3.setObjectName("url_entry_box_3")
|
||||
self.verticalLayout_4.addWidget(self.url_entry_box_3)
|
||||
self.video_format_select_label = QtWidgets.QLabel(self.videoTab)
|
||||
self.video_format_select_label.setObjectName("video_format_select_label")
|
||||
self.verticalLayout_4.addWidget(self.video_format_select_label)
|
||||
self.video_tab_playlist = QtWidgets.QCheckBox(self.videoTab)
|
||||
self.video_tab_playlist.setObjectName("video_tab_playlist")
|
||||
self.verticalLayout_4.addWidget(self.video_tab_playlist)
|
||||
self.video_url_entry = QtWidgets.QLineEdit(self.videoTab)
|
||||
self.video_url_entry.setObjectName("video_url_entry")
|
||||
self.verticalLayout_4.addWidget(self.video_url_entry)
|
||||
self.video_format_label = QtWidgets.QLabel(self.videoTab)
|
||||
self.video_format_label.setObjectName("video_format_label")
|
||||
self.verticalLayout_4.addWidget(self.video_format_label)
|
||||
self.video_format_select = QtWidgets.QComboBox(self.videoTab)
|
||||
self.video_format_select.setObjectName("video_format_select")
|
||||
self.video_format_select.addItem("")
|
||||
self.video_format_select.addItem("")
|
||||
self.video_format_select.addItem("")
|
||||
self.video_format_select.addItem("mp4")
|
||||
self.video_format_select.addItem("mkv")
|
||||
self.video_format_select.addItem("webm")
|
||||
self.video_format_select.addItem("flv")
|
||||
self.verticalLayout_4.addWidget(self.video_format_select)
|
||||
self.bitrate_select_label_v = QtWidgets.QLabel(self.videoTab)
|
||||
self.bitrate_select_label_v.setObjectName("bitrate_select_label_v")
|
||||
self.verticalLayout_4.addWidget(self.bitrate_select_label_v)
|
||||
self.bitrate_select_v = QtWidgets.QComboBox(self.videoTab)
|
||||
self.bitrate_select_v.setObjectName("bitrate_select_v")
|
||||
self.bitrate_select_v.addItem("")
|
||||
self.bitrate_select_v.addItem("")
|
||||
self.bitrate_select_v.addItem("")
|
||||
self.verticalLayout_4.addWidget(self.bitrate_select_v)
|
||||
self.play_finished_label_v = QtWidgets.QLabel(self.videoTab)
|
||||
self.play_finished_label_v.setObjectName("play_finished_label_v")
|
||||
self.verticalLayout_4.addWidget(self.play_finished_label_v)
|
||||
self.play_finished_select_v = QtWidgets.QComboBox(self.videoTab)
|
||||
self.play_finished_select_v.setObjectName("play_finished_select_v")
|
||||
self.play_finished_select_v.addItem("")
|
||||
self.play_finished_select_v.addItem("")
|
||||
self.verticalLayout_4.addWidget(self.play_finished_select_v)
|
||||
self.changelog_box_label_v = QtWidgets.QLabel(self.videoTab)
|
||||
self.changelog_box_label_v.setObjectName("changelog_box_label_v")
|
||||
self.verticalLayout_4.addWidget(self.changelog_box_label_v)
|
||||
self.changelog_text_box_3 = QtWidgets.QTextBrowser(self.videoTab)
|
||||
self.changelog_text_box_3.setObjectName("changelog_text_box_3")
|
||||
self.verticalLayout_4.addWidget(self.changelog_text_box_3)
|
||||
self.ok_button_3 = QtWidgets.QPushButton(self.videoTab)
|
||||
self.ok_button_3.setObjectName("ok_button_3")
|
||||
self.verticalLayout_4.addWidget(self.ok_button_3)
|
||||
self.reset_button_3 = QtWidgets.QPushButton(self.videoTab)
|
||||
self.reset_button_3.setObjectName("reset_button_3")
|
||||
self.verticalLayout_4.addWidget(self.reset_button_3)
|
||||
self.resolution_select_label = QtWidgets.QLabel(self.videoTab)
|
||||
self.resolution_select_label.setObjectName("resolution_select_label")
|
||||
self.verticalLayout_4.addWidget(self.resolution_select_label)
|
||||
self.resolution_select = QtWidgets.QComboBox(self.videoTab)
|
||||
self.resolution_select.setObjectName("resolution_select")
|
||||
self.resolution_select.addItem("480")
|
||||
self.resolution_select.addItem("720")
|
||||
self.resolution_select.addItem("1080")
|
||||
self.verticalLayout_4.addWidget(self.resolution_select)
|
||||
self.tabs.addTab(self.videoTab, "")
|
||||
self.verticalLayout.addWidget(self.tabs)
|
||||
self.main_progress_bar = QtWidgets.QProgressBar(self.centralwidget)
|
||||
self.main_progress_bar.setProperty("value", 24)
|
||||
self.main_progress_bar.setObjectName("main_progress_bar")
|
||||
self.verticalLayout.addWidget(self.main_progress_bar)
|
||||
self.status_text_label = QtWidgets.QLabel(self.centralwidget)
|
||||
self.status_text_label.setObjectName("status_text_label")
|
||||
self.verticalLayout.addWidget(self.status_text_label)
|
||||
self.download_button = QPushButton(self.centralwidget)
|
||||
self.download_button.setGeometry(QtCore.QRect(120, 430, 141, 34))
|
||||
self.download_button.setObjectName("download_button")
|
||||
self.output_window = QtWidgets.QTextBrowser(self.centralwidget)
|
||||
self.output_window.setGeometry(QtCore.QRect(10, 270, 361, 141))
|
||||
self.output_window.setObjectName("output_window")
|
||||
self.progressBar = QtWidgets.QProgressBar(self.centralwidget)
|
||||
self.progressBar.setGeometry(QtCore.QRect(10, 410, 361, 23))
|
||||
self.progressBar.setProperty("value", 0)
|
||||
self.progressBar.setObjectName("progressBar")
|
||||
MainWindow.setCentralWidget(self.centralwidget)
|
||||
self.menubar = QtWidgets.QMenuBar(MainWindow)
|
||||
self.menubar.setGeometry(QtCore.QRect(0, 0, 394, 29))
|
||||
self.menubar.setGeometry(QtCore.QRect(0, 0, 377, 30))
|
||||
self.menubar.setObjectName("menubar")
|
||||
self.menuMandy = QtWidgets.QMenu(self.menubar)
|
||||
self.menuMandy.setObjectName("menuMandy")
|
||||
@ -160,69 +132,163 @@ class Ui_MainWindow(object):
|
||||
self.menubar.addAction(self.menuAbout.menuAction())
|
||||
|
||||
self.retranslateUi(MainWindow)
|
||||
self.tabs.setCurrentIndex(1)
|
||||
self.tabs.setCurrentIndex(0)
|
||||
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||
|
||||
def dl_content(self):
|
||||
index = self.tabs.currentIndex()
|
||||
if index == 0:
|
||||
url = self.audio_url_entry.text()
|
||||
if "https://" not in url[:8]:
|
||||
if "http://" not in url[:7]:
|
||||
self.output_window.append("That is not a valid url.")
|
||||
return
|
||||
self.output_window.append("Downloading " + url + "...")
|
||||
self.output_window.repaint()
|
||||
playlist = self.audio_tab_playlist.isChecked()
|
||||
audio_format = self.audio_format_select.currentText()
|
||||
|
||||
#command = "youtube-dl "
|
||||
#if playlist == 1:
|
||||
# command = command + "--yes-playlist "
|
||||
#command = command + "--extract-audio "
|
||||
#command = command + "--audio-format "
|
||||
#command = command + audio_format
|
||||
#command = command + " -o '%(title)s.%(ext)s' "
|
||||
#command = command + url
|
||||
|
||||
if playlist == 0:
|
||||
subprocess.Popen(["youtube-dl", "--extract-audio", "--audio-format", audio_format, "-o '%(title)s.%(ext)s'", url], stdout=open('status.txt', 'w'), encoding='utf-8')
|
||||
timeout = 0
|
||||
for p in psutil.process_iter(attrs=['name']):
|
||||
while p.info['name'] == "youtube-dl":
|
||||
b = open('status.txt', 'r', encoding='utf-8')
|
||||
self.output_window.clear()
|
||||
self.output_window.append(b.read())
|
||||
self.output_window.repaint()
|
||||
time.sleep(2)
|
||||
if p.info['name'] == "youtube-dl":
|
||||
size = os.path.getsize("status.txt")
|
||||
if size == os.path.getsize("status.txt"):
|
||||
timeout = timeout + 1
|
||||
if timeout == 30:
|
||||
break
|
||||
#b.close()
|
||||
if playlist == 1:
|
||||
subprocess.run(["youtube-dl", "--yes-playlist", "--extract-audio", "--audio-format", audio_format, "-o '%(title)s.%(ext)s'", url], stdout=open('status.txt', 'w'), encoding='utf-8')
|
||||
timeout = 0
|
||||
for p in psutil.process_iter(attrs=['name']):
|
||||
while p.info['name'] == "youtube-dl":
|
||||
b = open('status.txt', 'r', encoding='utf-8')
|
||||
self.output_window.clear()
|
||||
self.output_window.append(b.read())
|
||||
self.output_window.repaint()
|
||||
time.sleep(2)
|
||||
if p.info['name'] == "youtube-dl":
|
||||
size = os.path.getsize("status.txt")
|
||||
if size == os.path.getsize("status.txt"):
|
||||
timeout = timeout + 1
|
||||
if timeout == 30:
|
||||
break
|
||||
if index == 1:
|
||||
url = self.video_url_entry.text()
|
||||
if "https://" not in url[:8]:
|
||||
if "http://" not in url[:7]:
|
||||
self.output_window.append("That is not a valid url.")
|
||||
return
|
||||
self.output_window.append("Downloading " + url + "...")
|
||||
self.output_window.repaint()
|
||||
playlist = self.video_tab_playlist.isChecked()
|
||||
video_format = self.video_format_select.currentText()
|
||||
resolution = self.resolution_select.currentText()
|
||||
command = "(" + video_format + ")[height<=" + resolution + "]'"
|
||||
if playlist == 0:
|
||||
print("video playlist 0")
|
||||
subprocess.Popen(["youtube-dl", "-f", command, "-o '%(title)s.%(ext)s'", url], stdout=open('status.txt', 'w'), encoding='utf-8')
|
||||
timeout = 0
|
||||
for p in psutil.process_iter(attrs=['name']):
|
||||
print("process for")
|
||||
while p.info['name'] == "youtube-dl":
|
||||
print("file open")
|
||||
b = open('status.txt', 'r', encoding='utf-8')
|
||||
self.output_window.clear()
|
||||
self.output_window.append(b.read())
|
||||
self.output_window.repaint()
|
||||
time.sleep(2)
|
||||
if p.info['name'] == "youtube-dl":
|
||||
print("size check")
|
||||
size = os.path.getsize("status.txt")
|
||||
if size == os.path.getsize("status.txt"):
|
||||
timeout = timeout + 1
|
||||
if timeout == 30:
|
||||
break
|
||||
if playlist == 1:
|
||||
subprocess.Popen(["youtube-dl", "--yes-playlist", "-f", command, "-o '%(title)s.%(ext)s'", url], stdout=open('status.txt', 'w'), encoding='utf-8')
|
||||
timeout = 0
|
||||
for p in psutil.process_iter(attrs=['name']):
|
||||
while p.info['name'] == "youtube-dl":
|
||||
b = open('status.txt', 'r', encoding='utf-8')
|
||||
self.output_window.clear()
|
||||
self.output_window.append(b.read())
|
||||
self.output_window.repaint()
|
||||
time.sleep(2)
|
||||
if p.info['name'] == "youtube-dl":
|
||||
size = os.path.getsize("status.txt")
|
||||
if size == os.path.getsize("status.txt"):
|
||||
timeout = timeout + 1
|
||||
if timeout == 30:
|
||||
break
|
||||
self.output_window.append("File Download Complete!")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def retranslateUi(self, MainWindow):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
MainWindow.setWindowTitle(_translate("MainWindow", "Continuity 0.0.1"))
|
||||
self.url_label.setText(_translate("MainWindow", "URL:"))
|
||||
self.audio_url_label.setText(_translate("MainWindow", "URL:"))
|
||||
self.audio_tab_playlist.setText(_translate("MainWindow", "Playlist"))
|
||||
self.audio_url_entry.setText(_translate("MainWindow", "Paste URL here"))
|
||||
self.audio_format_select_label.setText(_translate("MainWindow", "Audio Format:"))
|
||||
self.audio_format_select.setItemText(0, _translate("MainWindow", "Ogg"))
|
||||
self.audio_format_select.setItemText(1, _translate("MainWindow", "MP3"))
|
||||
self.audio_format_select.setItemText(2, _translate("MainWindow", "FLAC"))
|
||||
self.bitrate_select_label_a.setText(_translate("MainWindow", "Bitrate:"))
|
||||
self.bitrate_select_a.setItemText(0, _translate("MainWindow", "128 kb/s"))
|
||||
self.bitrate_select_a.setItemText(1, _translate("MainWindow", "192 kb/s"))
|
||||
self.bitrate_select_a.setItemText(2, _translate("MainWindow", "320 kb/s"))
|
||||
self.play_finished_label.setText(_translate("MainWindow", "Play when finished?:"))
|
||||
self.play_finished_select.setItemText(0, _translate("MainWindow", "yes"))
|
||||
self.play_finished_select.setItemText(1, _translate("MainWindow", "no"))
|
||||
self.changelog_box_label_a.setText(_translate("MainWindow", "Changelog:"))
|
||||
self.changelog_text_box_a.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||
"p, li { white-space: pre-wrap; }\n"
|
||||
"</style></head><body style=\" font-family:\'Sans Serif\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">* added more buttons</p></body></html>"))
|
||||
self.ok_button_a.setText(_translate("MainWindow", "OK"))
|
||||
self.reset_button_a.setText(_translate("MainWindow", "Reset"))
|
||||
self.audio_format_label.setText(_translate("MainWindow", "Audio Format:"))
|
||||
#self.audio_format_select.setItemText(0, _translate("MainWindow", "Ogg"))
|
||||
#self.audio_format_select.setItemText(1, _translate("MainWindow", "MP3"))
|
||||
#self.audio_format_select.setItemText(2, _translate("MainWindow", "FLAC"))
|
||||
self.bitrate_select_label.setText(_translate("MainWindow", "Bitrate:"))
|
||||
#self.bitrate_select.setItemText(0, _translate("MainWindow", "128 kb/s"))
|
||||
#self.bitrate_select.setItemText(1, _translate("MainWindow", "192 kb/s"))
|
||||
#self.bitrate_select.setItemText(2, _translate("MainWindow", "320 kb/s"))
|
||||
#self.bitrate_select.setItemText(3, _translate("MainWindow", "Best"))
|
||||
self.tabs.setTabText(self.tabs.indexOf(self.audioTab), _translate("MainWindow", "Audio"))
|
||||
self.video_url_label.setText(_translate("MainWindow", "URL:"))
|
||||
self.url_entry_box_3.setText(_translate("MainWindow", "Paste URL here"))
|
||||
self.video_format_select_label.setText(_translate("MainWindow", "Video Format:"))
|
||||
self.video_format_select.setItemText(0, _translate("MainWindow", "MP4"))
|
||||
self.video_format_select.setItemText(1, _translate("MainWindow", "AVI"))
|
||||
self.video_format_select.setItemText(2, _translate("MainWindow", "WEBM"))
|
||||
self.bitrate_select_label_v.setText(_translate("MainWindow", "Bitrate:"))
|
||||
self.bitrate_select_v.setItemText(0, _translate("MainWindow", "128 kb/s"))
|
||||
self.bitrate_select_v.setItemText(1, _translate("MainWindow", "192 kb/s"))
|
||||
self.bitrate_select_v.setItemText(2, _translate("MainWindow", "320 kb/s"))
|
||||
self.play_finished_label_v.setText(_translate("MainWindow", "Play when finished?:"))
|
||||
self.play_finished_select_v.setItemText(0, _translate("MainWindow", "yes"))
|
||||
self.play_finished_select_v.setItemText(1, _translate("MainWindow", "no"))
|
||||
self.changelog_box_label_v.setText(_translate("MainWindow", "Changelog:"))
|
||||
self.changelog_text_box_3.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||
"p, li { white-space: pre-wrap; }\n"
|
||||
"</style></head><body style=\" font-family:\'Sans Serif\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
|
||||
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">* added more buttons</p></body></html>"))
|
||||
self.ok_button_3.setText(_translate("MainWindow", "OK"))
|
||||
self.reset_button_3.setText(_translate("MainWindow", "Reset"))
|
||||
self.video_tab_playlist.setText(_translate("MainWindow", "Playlist"))
|
||||
self.video_url_entry.setText(_translate("MainWindow", "Paste URL here"))
|
||||
self.video_format_label.setText(_translate("MainWindow", "Video Format:"))
|
||||
#self.video_format_select.setItemText(0, _translate("MainWindow", "MP4"))
|
||||
#self.video_format_select.setItemText(1, _translate("MainWindow", "AVI"))
|
||||
#self.video_format_select.setItemText(2, _translate("MainWindow", "WEBM"))
|
||||
self.resolution_select_label.setText(_translate("MainWindow", "Resolution:"))
|
||||
#self.resolution_select.setItemText(0, _translate("MainWindow", "Best"))
|
||||
self.tabs.setTabText(self.tabs.indexOf(self.videoTab), _translate("MainWindow", "Video"))
|
||||
self.status_text_label.setText(_translate("MainWindow", "Status Output"))
|
||||
self.download_button.setText(_translate("MainWindow", "Download"))
|
||||
#self.download_button.clicked.connect(dl_file())
|
||||
self.menuMandy.setTitle(_translate("MainWindow", "File"))
|
||||
self.menuEdit.setTitle(_translate("MainWindow", "Edit"))
|
||||
self.menuAbout.setTitle(_translate("MainWindow", "About"))
|
||||
self.actionSettings.setText(_translate("MainWindow", "Settings"))
|
||||
self.actionQuit_Ctrl_q.setText(_translate("MainWindow", "Quit (Ctrl + q)"))
|
||||
self.actionSettings_2.setText(_translate("MainWindow", "Settings"))
|
||||
self.download_button.clicked.connect(self.dl_content)
|
||||
|
||||
|
||||
|
||||
#from KPushButton import KPushButton
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import sys
|
||||
import sys, os , subprocess
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
MainWindow = QtWidgets.QMainWindow()
|
||||
ui = Ui_MainWindow()
|
||||
|
4
status.txt
Normal file
4
status.txt
Normal file
@ -0,0 +1,4 @@
|
||||
[youtube] wqipMcwJeQI: Downloading webpage
|
||||
[youtube] wqipMcwJeQI: Downloading video info webpage
|
||||
[download] 'Beastie boys - Paul Revere.mp4' has already been downloaded
|
||||
[K[download] 100% of 5.21MiB
|
Loading…
x
Reference in New Issue
Block a user