def fetchAndSaveUrl(self, url="", bit=1):
        ok = True
        if len(url) == 0:
            url, ok = QtGui.QInputDialog.getText(
                self, "Link", "Download Link:", QtGui.QLineEdit.Normal, "", QtCore.Qt.FramelessWindowHint
            )
        if ok == True:
            key = self.freeKey()
            if key == -1:
                obj = Interface(self.PARTS)
                key = self.links
                self.links = self.links + 1
            else:
                obj = self.dLoads[key]
                obj.PARTS = self.PARTS
                obj.clear()
                del self.dLoads[key]

            thread.start_new_thread(obj.start_Download, (url, self.wMutex, bit))
            self.dLoads[key] = obj
        else:
            msg = QtGui.QMessageBox(
                QtGui.QMessageBox.Warning,
                "Oops.",
                "Not a valid Url ",
                QtGui.QMessageBox.Ok,
                self,
                QtCore.Qt.FramelessWindowHint,
            )
            msg.show()
    def YoutubeLinkDownload(self):
        txt, ok = QtGui.QInputDialog.getText(
            self, "YouTube Link", "YTube Link:", QtGui.QLineEdit.Normal, "", QtCore.Qt.FramelessWindowHint
        )
        if ok == True:
            if txt.startsWith("https://www.youtube.com"):
                key = self.freeKey()
                if key == -1:
                    obj = Interface(self.PARTS)
                else:
                    obj = self.dLoads[key]
                    obj.PARTS = self.PARTS
                    obj.clear()
                    del self.dLoads[key]

                thread.start_new_thread(obj.start_Download, (txt, self.wMutex))
                self.dLoads[self.links] = obj
                self.links = self.links + 1
            else:
                msg = QtGui.QMessageBox(
                    QtGui.QMessageBox.Warning,
                    "Oops.",
                    "Not a valid YTube Url ",
                    QtGui.QMessageBox.Ok,
                    self,
                    QtCore.Qt.FramelessWindowHint,
                )
                msg.show()
    def fetchAndSaveUrl(self, url='', bit=1):
        ok = True
        if len(url) == 0:
            url, ok = QtGui.QInputDialog.getText(self, 'Link',
                                                 'Download Link:',
                                                 QtGui.QLineEdit.Normal, '',
                                                 QtCore.Qt.FramelessWindowHint)
        if ok == True:
            key = self.freeKey()
            if key == -1:
                obj = Interface(self.PARTS)
                key = self.links
                self.links = self.links + 1
            else:
                obj = self.dLoads[key]
                obj.PARTS = self.PARTS
                obj.clear()
                del self.dLoads[key]

            thread.start_new_thread(obj.start_Download,
                                    (url, self.wMutex, bit))
            self.dLoads[key] = obj
        else:
            msg = QtGui.QMessageBox(QtGui.QMessageBox.Warning, 'Oops.',
                                    "Not a valid Url ", QtGui.QMessageBox.Ok,
                                    self, QtCore.Qt.FramelessWindowHint)
            msg.show()
    def YoutubeLinkDownload(self):
        txt, ok = QtGui.QInputDialog.getText(self, 'YouTube Link',
                                             'YTube Link:',
                                             QtGui.QLineEdit.Normal, '',
                                             QtCore.Qt.FramelessWindowHint)
        if ok == True:
            if txt.startsWith('https://www.youtube.com'):
                key = self.freeKey()
                if key == -1:
                    obj = Interface(self.PARTS)
                else:
                    obj = self.dLoads[key]
                    obj.PARTS = self.PARTS
                    obj.clear()
                    del self.dLoads[key]

                thread.start_new_thread(obj.start_Download, (txt, self.wMutex))
                self.dLoads[self.links] = obj
                self.links = self.links + 1
            else:
                msg = QtGui.QMessageBox(QtGui.QMessageBox.Warning, 'Oops.',
                                        "Not a valid YTube Url ",
                                        QtGui.QMessageBox.Ok, self,
                                        QtCore.Qt.FramelessWindowHint)
                msg.show()
 def downloadPartition(self, url, fileName, dt, tm, length):
     key = self.freeKey()
     if key == -1:
         obj = Interface(self.PARTS)
         key = self.links
         self.links = self.links + 1
     else:
         obj = self.dLoads[key]
         obj.PARTS = self.PARTS
         obj.clear()
         del self.dLoads[key]
     obj.url = url
     obj.fileName = fileName
     obj.dt = dt
     obj.tm = tm
     obj.length = length
     bit = 0
     if url.startswith("http://www.youtube.com"):
         bit = 1
     thread.start_new_thread(obj.start_from_Part, (self.wMutex, bit))
     self.dLoads[key] = obj
 def downloadPartition(self, url, fileName, dt, tm, length):
     key = self.freeKey()
     if key == -1:
         obj = Interface(self.PARTS)
         key = self.links
         self.links = self.links + 1
     else:
         obj = self.dLoads[key]
         obj.PARTS = self.PARTS
         obj.clear()
         del self.dLoads[key]
     obj.url = url
     obj.fileName = fileName
     obj.dt = dt
     obj.tm = tm
     obj.length = length
     bit = 0
     if url.startswith('http://www.youtube.com'):
         bit = 1
     thread.start_new_thread(obj.start_from_Part, (self.wMutex, bit))
     self.dLoads[key] = obj