示例#1
0
 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)
示例#2
0
 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)
示例#3
0
 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)