Commit fba78c61 authored by Sebastien Luttringer's avatar Sebastien Luttringer
Browse files

add json output to info command

parent 77faa20e
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -324,7 +324,7 @@ def c_info(args):
    for image in args.image:
        img, repo = select_image(image, repoman,
                                 search=args.repo_search, best=args.best)
        img.show(verbose=args.verbose, changelog=args.changelog)
        img.show(o_verbose=args.verbose, o_changelog=args.changelog, o_json=args.json)

def c_init(args):
    '''
@@ -607,6 +607,8 @@ def arg_parser_init():
                   help="take the most recent image in all searchable repositories")
    p.add_argument("-c", "--changelog", action="store_true",
                   help="display image changelog")
    p.add_argument("-j", "--json", action="store_true",
                   help="output is formated in json")
    p.add_argument("-v", "--verbose", action="store_true",
                   help="verbose output")
    p.add_argument("image", nargs="+",
+31 −28
Original line number Diff line number Diff line
@@ -579,16 +579,19 @@ class PackageImage(Image):
            warn("Invalid changelog: %s" % e)
        return desc

    def show(self, verbose=False, changelog=False):
    def show(self, o_verbose=False, o_changelog=False, o_json=False):
        '''
        Display image content
        '''
        if o_json:
            out(json.dumps(self._metadata))
        else:
            out('#light##yellow#Name:#reset# %s' % self.name)
            out('#light##yellow#Version:#reset# %s' % self.version)
            out('#yellow#Date:#reset# %s' % istools.time_rfc2822(self.date))
            out('#yellow#Description:#reset# %s' % self.description)
            out('#yellow#Author:#reset# %s' % self.author)
        if verbose:
            if o_verbose:
                # field is_build_version is new in version 5. I can be absent.
                try: out('#yellow#IS build version:#reset# %s' % self.is_build_version)
                except AttributeError: pass
@@ -596,7 +599,7 @@ class PackageImage(Image):
                try: out('#yellow#IS minimum version:#reset# %s' % self.is_min_version)
                except AttributeError: pass
            out('#yellow#MD5:#reset# %s' % self.md5)
        if verbose:
            if o_verbose:
                payloads = self.payload
                for payload_name in payloads:
                    payload = payloads[payload_name]
@@ -606,10 +609,10 @@ class PackageImage(Image):
                    out('  #yellow#MD5:#reset# %s' % payload.md5)
            # display image content
            out('#light##yellow#Content:#reset#')
        self._tarball.list(verbose)
            self._tarball.list(o_verbose)
            # display changelog
        if changelog:
            self.changelog.show(int(self.version), verbose)
            if o_changelog:
                self.changelog.show(int(self.version), o_verbose)

    def check(self, message="Check MD5"):
        '''