def __str__(self): head = """ =============================================================================== %(title)s =============================================================================== Update ID : %(update_id)s Release : %(release)s Type : %(type)s Status : %(status)s Issued : %(issued)s """ % self._md if self._md['updated'] and self._md['updated'] != self._md['issued']: head += " Updated : %s" % self._md['updated'] # Add our bugzilla references bzs = filter(lambda r: r['type'] == 'bugzilla', self._md['references']) if len(bzs): buglist = " Bugs :" for bz in bzs: buglist += " %s%s\n\t :" % (bz['id'], 'title' in bz and ' - %s' % bz['title'] or '') head += buglist[:-1].rstrip() + '\n' # Add our CVE references cves = filter(lambda r: r['type'] == 'cve', self._md['references']) if len(cves): cvelist = " CVEs :" for cve in cves: cvelist += " %s\n\t :" % cve['id'] head += cvelist[:-1].rstrip() + '\n' if self._md['description'] is not None: desc = utf8_text_wrap(self._md['description'], width=64, subsequent_indent=' ' * 12 + ': ') head += "Description : %s\n" % '\n'.join(desc) # Get a list of arches we care about: #XXX ARCH CHANGE - what happens here if we set the arch - we need to # pass this in, perhaps arches = set(rpmUtils.arch.getArchList()) filelist = " Files :" for pkg in self._md['pkglist']: for file in pkg['packages']: if file['arch'] not in arches: continue filelist += " %s\n\t :" % file['filename'] head += filelist[:-1].rstrip() return head
def show_update_info(self, upd_info): head = "" head += ("%14s " % _("Release")) + ": %(release)s\n" head += ("%14s " % _("Type")) + ": %(type)s\n" head += ("%14s " % _("Status")) + ": %(status)s\n" head += ("%14s " % _("Issued")) + ": %(issued)s\n" head = head % upd_info if upd_info['updated'] and upd_info['updated'] != upd_info['issued']: head += " Updated : %s" % upd_info['updated'] self.console.write(head) head = "" # Add our bugzilla references if upd_info['references']: bzs = [ r for r in upd_info['references'] if r and r['type'] == 'bugzilla'] if len(bzs): header = "Bugzilla" for bz in bzs: if 'title' in bz and bz['title']: bug_msg = ' - %s' % bz['title'] else: bug_msg = '' self.console.write("%14s : " % header, newline=False) self.console.add_url(bz['id'], self.frontend.settings.bugzilla_url + bz['id']) self.console.write(bug_msg) header = " " # Add our CVE references if upd_info['references']: cves = [ r for r in upd_info['references'] if r and r['type'] == 'cve'] if len(cves): cvelist = "" header = "CVE" for cve in cves: cvelist += "%14s : %s\n" % (header, cve['id']) header = " " head += cvelist[:-1].rstrip() + '\n\n' if upd_info['description'] is not None: desc = utf8_text_wrap(upd_info['description'], width=64, subsequent_indent=' ' * 14 + ' : ') head += "%14s : %s\n" % (_("Description"), '\n'.join(desc)) head += "\n" self.console.write(head)
def text(self, skip_data=('files', 'summary', 'rights', 'solution')): head = """ =============================================================================== %(title)s =============================================================================== Update ID : %(update_id)s Release : %(release)s Type : %(type)s Status : %(status)s Issued : %(issued)s """ % self._md if self._md['updated'] and self._md['updated'] != self._md['issued']: head += " Updated : %s" % self._md['updated'] # Add our bugzilla references bzs = filter(lambda r: r['type'] == 'bugzilla', self._md['references']) if len(bzs) and 'bugs' not in skip_data: buglist = " Bugs :" for bz in bzs: buglist += " %s%s\n\t :" % (bz['id'], 'title' in bz and ' - %s' % bz['title'] or '') head += buglist[: - 1].rstrip() + '\n' # Add our CVE references cves = filter(lambda r: r['type'] == 'cve', self._md['references']) if len(cves) and 'cves' not in skip_data: cvelist = " CVEs :" for cve in cves: cvelist += " %s\n\t :" % cve['id'] head += cvelist[: - 1].rstrip() + '\n' if self._md['summary'] and 'summary' not in skip_data: data = utf8_text_wrap(self._md['summary'], width=64, subsequent_indent=' ' * 12 + ': ') head += " Summary : %s\n" % '\n'.join(data) if self._md['description'] and 'description' not in skip_data: desc = utf8_text_wrap(self._md['description'], width=64, subsequent_indent=' ' * 12 + ': ') head += "Description : %s\n" % '\n'.join(desc) if self._md['solution'] and 'solution' not in skip_data: data = utf8_text_wrap(self._md['solution'], width=64, subsequent_indent=' ' * 12 + ': ') head += " Solution : %s\n" % '\n'.join(data) if self._md['rights'] and 'rights' not in skip_data: data = utf8_text_wrap(self._md['rights'], width=64, subsequent_indent=' ' * 12 + ': ') head += " Rights : %s\n" % '\n'.join(data) if self._md['severity'] and 'severity' not in skip_data: data = utf8_text_wrap(self._md['severity'], width=64, subsequent_indent=' ' * 12 + ': ') head += " Severity : %s\n" % '\n'.join(data) if 'files' in skip_data: return head[:-1] # chop the last '\n' # Get a list of arches we care about: #XXX ARCH CHANGE - what happens here if we set the arch - we need to # pass this in, perhaps arches = set(rpmUtils.arch.getArchList()) filelist = " Files :" for pkg in self._md['pkglist']: for file in pkg['packages']: if file['arch'] not in arches: continue filelist += " %s\n\t :" % file['filename'] head += filelist[: - 1].rstrip() return head
def text(self, skip_data=('files', )): head = """ =============================================================================== %(title)s =============================================================================== Update ID : %(update_id)s Release : %(release)s Type : %(type)s Status : %(status)s Issued : %(issued)s """ % self._md if self._md['updated'] and self._md['updated'] != self._md['issued']: head += " Updated : %s" % self._md['updated'] # Add our bugzilla references bzs = filter(lambda r: r['type'] == 'bugzilla', self._md['references']) if len(bzs) and 'bugs' not in skip_data: buglist = " Bugs :" for bz in bzs: buglist += " %s%s\n\t :" % (bz['id'], bz.has_key('title') and ' - %s' % bz['title'] or '') head += buglist[:-1].rstrip() + '\n' # Add our CVE references cves = filter(lambda r: r['type'] == 'cve', self._md['references']) if len(cves) and 'cves' not in skip_data: cvelist = " CVEs :" for cve in cves: cvelist += " %s\n\t :" % cve['id'] head += cvelist[:-1].rstrip() + '\n' if self._md['summary'] and 'summary' not in skip_data: data = utf8_text_wrap(self._md['summary'], width=64, subsequent_indent=' ' * 12 + ': ') head += " Summary : %s\n" % '\n'.join(data) if self._md['description'] and 'description' not in skip_data: desc = utf8_text_wrap(self._md['description'], width=64, subsequent_indent=' ' * 12 + ': ') head += "Description : %s\n" % '\n'.join(desc) if self._md['solution'] and 'solution' not in skip_data: data = utf8_text_wrap(self._md['solution'], width=64, subsequent_indent=' ' * 12 + ': ') head += " Solution : %s\n" % '\n'.join(data) if self._md['rights'] and 'rights' not in skip_data: data = utf8_text_wrap(self._md['rights'], width=64, subsequent_indent=' ' * 12 + ': ') head += " Rights : %s\n" % '\n'.join(data) if self._md['severity'] and 'severity' not in skip_data: data = utf8_text_wrap(self._md['severity'], width=64, subsequent_indent=' ' * 12 + ': ') head += " Severity : %s\n" % '\n'.join(data) if 'files' in skip_data: return head[:-1] # chop the last '\n' # Get a list of arches we care about: arches = set(rpmUtils.arch.getArchList()) filelist = " Files :" for pkg in self._md['pkglist']: for file in pkg['packages']: if file['arch'] not in arches: continue filelist += " %s\n\t :" % file['filename'] head += filelist[:-1].rstrip() return head
def text(self, skip_data=("files", "summary", "rights", "solution")): head = ( """ =============================================================================== %(title)s =============================================================================== Update ID : %(update_id)s Release : %(release)s Type : %(type)s Status : %(status)s Issued : %(issued)s """ % self._md ) if self._md["updated"] and self._md["updated"] != self._md["issued"]: head += " Updated : %s" % self._md["updated"] # Add our bugzilla references bzs = filter(lambda r: r["type"] == "bugzilla", self._md["references"]) if len(bzs) and "bugs" not in skip_data: buglist = " Bugs :" for bz in bzs: buglist += " %s%s\n\t :" % (bz["id"], "title" in bz and " - %s" % bz["title"] or "") head += buglist[:-1].rstrip() + "\n" # Add our CVE references cves = filter(lambda r: r["type"] == "cve", self._md["references"]) if len(cves) and "cves" not in skip_data: cvelist = " CVEs :" for cve in cves: cvelist += " %s\n\t :" % cve["id"] head += cvelist[:-1].rstrip() + "\n" if self._md["summary"] and "summary" not in skip_data: data = utf8_text_wrap(self._md["summary"], width=64, subsequent_indent=" " * 12 + ": ") head += " Summary : %s\n" % "\n".join(data) if self._md["description"] and "description" not in skip_data: desc = utf8_text_wrap(self._md["description"], width=64, subsequent_indent=" " * 12 + ": ") head += "Description : %s\n" % "\n".join(desc) if self._md["solution"] and "solution" not in skip_data: data = utf8_text_wrap(self._md["solution"], width=64, subsequent_indent=" " * 12 + ": ") head += " Solution : %s\n" % "\n".join(data) if self._md["rights"] and "rights" not in skip_data: data = utf8_text_wrap(self._md["rights"], width=64, subsequent_indent=" " * 12 + ": ") head += " Rights : %s\n" % "\n".join(data) if self._md["severity"] and "severity" not in skip_data: data = utf8_text_wrap(self._md["severity"], width=64, subsequent_indent=" " * 12 + ": ") head += " Severity : %s\n" % "\n".join(data) if "files" in skip_data: return head[:-1] # chop the last '\n' # Get a list of arches we care about: # XXX ARCH CHANGE - what happens here if we set the arch - we need to # pass this in, perhaps arches = set(rpmUtils.arch.getArchList()) filelist = " Files :" for pkg in self._md["pkglist"]: for file in pkg["packages"]: if file["arch"] not in arches: continue filelist += " %s\n\t :" % file["filename"] head += filelist[:-1].rstrip() return head