Пример #1
0
 def __init__(self, window):
     """
     Init Downloader
     :param window: QMainWindow
     :return: None
     """
     self.downloader = Downloader(window, self.ConfigHandler)
     self.NameList = []
     super().__init__(window)
Пример #2
0
class DownloadMenu(TabBase):
    def __init__(self, window):
        """
        Init Downloader
        :param window: QMainWindow
        :return: None
        """
        self.downloader = Downloader(window, self.ConfigHandler)
        self.NameList = []
        super().__init__(window)

    def setupUi(self, window):
        """
        Connect all Events
        Load File list
        :param window: QMainWindow
        :return: None
        """
        super().setupUi(window)
        self.RefreshBtn.pressed.connect(self.loadFileList)
        self.FileList.itemClicked.connect(self.listItemChange)
        self.DownloadBtn.pressed.connect(self.download)
        self.DeleteBtn.pressed.connect(self.deleteFile)

        self.loadFileList()

    def loadFileList(self):
        """
        Get List of Meta Files and list them on the UI
        :return: None
        """
        self.metaList = None
        self.FileList.setCurrentItem(None)
        # Reset Info
        self.NameInfo.setText("")
        self.AuthorInfo.setText("")
        self.DateInfo.setText("")
        self.DescInfo.setPlainText("")
        # Clear List
        self.FileList.clear()
        self.FileList.addItem("Lade...")
        filelist = self.downloader.getFileList()
        self.FileList.clear()
        if filelist is not False:
            if self.FileList.currentRow() == -1:
                self.DownloadBtn.setEnabled(False)
            for file in filelist["files"]:
                self.FileList.addItem(file["name"].capitalize())
            self.metaList = self.downloader.getMetaFiles()
        else:
            self.DownloadBtn.setEnabled(False)

    def listItemChange(self):
        """
        Display Info about current item on List
        Check if List is empty
        :return:
        """
        if self.FileList.currentRow() != -1:
            self.DownloadBtn.setEnabled(True)
        else:
            self.DownloadBtn.setEnabled(False)
        id = self.FileList.currentRow()
        #id = id[0].id()
        self.NameInfo.setText(self.metaList[id]["Meta"]["name"].capitalize())
        self.AuthorInfo.setText(self.metaList[id]["Meta"]["author"].capitalize())
        self.DateInfo.setText(self.metaList[id]["Meta"]["date"])
        self.DescInfo.setPlainText(self.metaList[id]["Meta"]["comments"])

    def download(self):
        """
        Download currently selected ListItem and Popup on complete
        :return:
        """

        id = self.FileList.currentRow()
        if id != -1:
            self.downloader.download(self.metaList[id]["Meta"]["fullFile"])

    def deleteFile(self):
        id = self.FileList.currentRow()
        if id:
            requests.post()
Пример #3
0
# -*- coding: utf-8 -*-
from IO.Download import Downloader

d = Downloader()
d.getFileList()