def get_run_check_error(ebook): ans = [] errors = run_checks(ebook) for err in errors: lev = err.level n = err.name msg = err.msg ans.append((lev, msg, n)) dans = {} for lev, msg, n in ans: k = (lev, msg) dans[k] = dans.get(k, 0) + 1 return dans
def run_checks(self, container): with BusyCursor(): self.show_busy() QApplication.processEvents() errors = run_checks(container) self.hide_busy() for err in sorted(errors, key=lambda e:(100 - e.level, e.name)): i = QListWidgetItem('%s\xa0\xa0\xa0\xa0[%s]' % (err.msg, err.name), self.items) i.setData(Qt.UserRole, err) i.setIcon(icon_for_level(err.level)) if errors: self.items.setCurrentRow(0) self.current_item_changed() self.items.setFocus(Qt.OtherFocusReason) else: self.clear_help()