def selectRendition(self, rendition):
        from util.GithubUtil import GithubUtil

        self.selectedRendition = rendition
        self.downloadTable.setEnabled(True)
        self.selectedText, self.selectedRepo, self.selectedDirectory = self.bibles[
            self.selectedRendition]
        self.github = GithubUtil(self.selectedRepo)
        self.repoData = self.github.getRepoData()
        self.settingBibles = True
        self.dataViewModel.clear()
        rowCount = 0
        for file in self.repoData.keys():
            if len(str(file)) > 3:
                engFullBookName = file[3:]
            else:
                engFullBookName = BibleBooks().eng[str(int(file))][1]
            item = QStandardItem(file[:3].strip())
            folder = os.path.join("audio", "bibles", self.selectedText,
                                  self.selectedDirectory, file)
            folderWithName = os.path.join("audio", "bibles", self.selectedText,
                                          self.selectedDirectory,
                                          file + " " + engFullBookName)
            if os.path.exists(folder) or os.path.exists(folderWithName):
                item.setCheckable(False)
                item.setCheckState(Qt.Unchecked)
                item.setEnabled(False)
            else:
                item.setCheckable(True)
                item.setCheckState(Qt.Checked)
                item.setEnabled(True)
            self.dataViewModel.setItem(rowCount, 0, item)
            item = QStandardItem(engFullBookName)
            self.dataViewModel.setItem(rowCount, 1, item)
            if os.path.exists(folder) or os.path.exists(folderWithName):
                item = QStandardItem("Installed")
                self.dataViewModel.setItem(rowCount, 2, item)
            else:
                item = QStandardItem("")
                self.dataViewModel.setItem(rowCount, 2, item)
            rowCount += 1
        self.dataViewModel.setHorizontalHeaderLabels([
            config.thisTranslation["menu_book"],
            config.thisTranslation["name"], ""
        ])
        self.downloadTable.setColumnWidth(0, 90)
        self.downloadTable.setColumnWidth(1, 125)
        self.downloadTable.setColumnWidth(2, 125)
        # self.downloadTable.resizeColumnsToContents()
        self.settingBibles = False
Example #2
0
 def resetItems(self):
     self.isUpdating = True
     self.dataViewModel.clear()
     filterEntry = self.filterEntry.text().lower()
     rowCount = 0
     colCount = 0
     catalogData = self.localCatalogData
     if self.location == "remote":
         catalogData = self.remoteCatalogData
     for id, value in catalogData.items():
         id2, filename, type, directory, file, description, repo, installDirectory, sha = value
         if (filterEntry == "" or filterEntry in filename.lower()
                 or filterEntry in description.lower()):
             if (not self.pdfCheckbox.isChecked() and type == "PDF") or \
                     (not self.mp3Checkbox.isChecked() and type == "MP3") or \
                     (not self.mp4Checkbox.isChecked() and type == "MP4") or \
                     (not self.bookCheckbox.isChecked() and type == "BOOK") or \
                     (not self.docxCheckbox.isChecked() and type == "DOCX") or \
                     (not self.devotionalCheckbox.isChecked() and type == "DEVOTIONAL") or \
                     (not self.commCheckbox.isChecked() and type == "COMM"):
                 continue
             enable = True
             if self.location == "remote":
                 installDirectory = os.path.join(config.marvelData,
                                                 installDirectory)
                 if FileUtil.regexFileExists(
                         "{0}.*".format(GithubUtil.getShortname(filename)),
                         installDirectory):
                     enable = False
             item = QStandardItem(id)
             item.setEnabled(enable)
             self.dataViewModel.setItem(rowCount, colCount, item)
             colCount += 1
             item = QStandardItem(file)
             item.setEnabled(enable)
             self.dataViewModel.setItem(rowCount, colCount, item)
             colCount += 1
             item = QStandardItem(directory)
             item.setEnabled(enable)
             self.dataViewModel.setItem(rowCount, colCount, item)
             colCount += 1
             # item = QStandardItem(description)
             # self.dataViewModel.setItem(rowCount, colCount, item)
             # colCount += 1
             # add row count
             rowCount += 1
             colCount = 0
     self.dataViewModel.setHorizontalHeaderLabels([
         "#",
         config.thisTranslation["file"],
         config.thisTranslation["directory"],
         # config.thisTranslation["description"]
     ])
     self.dataView.resizeColumnsToContents()
     self.isUpdating = False