def show_payloads(self, patterns, o_images=False, o_json=False): ''' Show payloads inside manager ''' # get payload list payloads = self.select_payloads(patterns) # display result if o_json: s = json.dumps(payloads) else: l = [] for payname in sorted(payloads.keys()): pay = payloads[payname] l.append(u"#l##y#%s#R#" % payname) l.append(u" size: %s" % istools.human_size(pay["size"])) l.append(u" directory: %s" % bool(pay["isdir"])) l.append(u" image count: %d" % len(pay["images"])) l.append(u" names: %s" % ", ".join(set((v["payname"] for v in pay["images"].values())))) if o_images: l.append(u" images:") for path, obj in pay["images"].items(): l.append(u" %s#R#/#l##b#%s#R#:#p#%s#R# (%s)" % ( obj["repo"], obj["imgname"], obj["imgver"], obj["payname"])) s = os.linesep.join(l) if len(s) > 0: out(s)
def show(self, o_payloads=False, o_files=False, o_changelog=False, o_json=False): ''' Display image content ''' if o_json: out(dumps(self._metadata)) else: out(u'#light##yellow#Name:#reset# %s' % self.name) out(u'#light##yellow#Version:#reset# %s' % self.version) out(u'#yellow#Date:#reset# %s' % time_rfc2822(self.date)) out(u'#yellow#Description:#reset# %s' % self.description) out(u'#yellow#Author:#reset# %s' % self.author) # field is_build_version is new in version 5. I can be absent. try: out(u'#yellow#IS build version:#reset# %s' % self.is_build_version) except AttributeError: pass # field is_min_version is new in version 5. I can be absent. try: out(u'#yellow#IS minimum version:#reset# %s' % self.is_min_version) except AttributeError: pass out(u'#yellow#Format:#reset# %s' % self.format) out(u'#yellow#MD5:#reset# %s' % self.md5) out(u'#yellow#Payload count:#reset# %s' % len(self.payload)) # display payloads if o_payloads: payloads = self.payload for payload_name in payloads: payload = payloads[payload_name] out(u'#light##yellow#Payload:#reset# %s' % payload_name) out(u' #yellow#Date:#reset# %s' % time_rfc2822(payload.mtime)) out(u' #yellow#Size:#reset# %s' % (human_size(payload.size))) out(u' #yellow#MD5:#reset# %s' % payload.md5) # display image content if o_files: out('#light##yellow#Files:#reset#') self._tarball.list(True) # display changelog if o_changelog: out('#light##yellow#Changelog:#reset#') self.changelog.show(self.version)
def show_images(self, patterns, o_json=False, o_long=False, o_md5=False, o_date=False, o_author=False, o_size=False, o_url=False, o_description=False, o_format=False, o_min_version=False): ''' Show images inside manager ''' # get images list images = self.select_images(patterns) # display result if o_json: s = json.dumps(images) else: l = [] for imgp in sorted(images.keys()): img = images[imgp] l.append(u"%s#R#/#l##b#%s#R#:#p#%s#R#" % ( img["repo"], img["name"], img["version"])) if o_md5 or o_long: l[-1] = l[-1] + u" (#y#%s#R#)" % img["md5"] if o_date or o_long: l.append(u" #l#date:#R# %s" % istools.time_rfc2822(img["date"])) if o_author or o_long: l.append(u" #l#author:#R# %s" % img["author"]) if o_size or o_long: l.append(u" #l#size:#R# %s" % istools.human_size(img["size"])) if o_url or o_long: l.append(u" #l#url:#R# %s" % img["url"]) if o_description or o_long: l.append(u" #l#description:#R# %s" % img["description"]) if o_format or o_long: l.append(u" #l#format:#R# %s" % img["format"]) if o_min_version or o_long: l.append(u" #l#is min version:#R# %s" % img["is_min_version"]) s = os.linesep.join(l) if len(s) > 0: out(s)