Loading bin/is +25 −42 Original line number Diff line number Diff line Loading @@ -139,56 +139,39 @@ def c_list(parser, args): ''' List images in repository or image content ''' args.repo_filter = None # List available repositories if len(args.list_args) == 0: # List available repository repoman = load_repositories(args) arrow('#light##green#[Repos]#reset#') for repo in repoman: out(repo.config.name) # <repo> | <image> | <image file> repoman.show(verbose=args.detail) return # list direct image or reposity content elif len(args.list_args) == 1: # <image file> if istools.pathtype(args.list_args[0]) == 'file' and\ os.path.isfile(args.list_args[0]): pkg = PackageImage(istools.abspath(args.list_args[0])) arrow('#light##green#[Image]#reset# %s' % pkg.name) pkg.show(verbose=args.verbose_list, list=True) # list image file content if (istools.pathtype(args.list_args[0]) == 'file' and os.path.isfile(args.list_args[0])): pkg = PackageImage(args.list_args[0]) pkg.show(verbose=args.detail) # list repository content else: args.repo_filter = args.list_args[0] repoman = load_repositories(args) # <repo> if len(repoman) != 0: for repo in repoman: arrow('#light##green#[Repo]#reset# %s' % repo.config.name) repo.show(args.verbose_list) # <image> else: args.repo_filter = None args.image = args.list_args[0] args.image_version = None # <repo> <image> | <image> <version> repo.show(args.detail) return # list last image version elif len(args.list_args) == 2: # <repo> <image> if not PackageImage.check_image_version(args.list_args[1]): args.repo_filter = args.list_args[0] args.image = args.list_args[1] args.image_version = None # <image> <version> else: args.image = args.list_args[0] args.image_version = args.list_args[1] # <repo> <image> <version> # list specific image version elif len(args.list_args) == 3: args.repo_filter = args.list_args[0] args.image = args.list_args[1] args.image_version = args.list_args[2] if hasattr(args, 'image'): # display content of image accross a repositories repoman = load_repositories(args) pkg = repoman.get(args.image, args.image_version) arrow('#light##green#[Image]#reset# %s' % pkg.name) pkg.show(verbose=args.verbose_list, list=True) pkg.show(verbose=args.detail) def c_cat(parser, args): ''' Loading Loading @@ -321,9 +304,9 @@ p_get.set_defaults(func=c_get) # list command parser p_list = subparsers.add_parser("list", help=c_list.__doc__.lower()) p_list.add_argument("-l", action="store_true", dest='verbose_list', default=False, help='Detailled list output') p_list.add_argument("list_args", nargs="*", help="Repo or image to list") p_list.add_argument("-l", action="store_true", dest='detail', default=False, help='detailled list output') p_list.add_argument("list_args", nargs="*", help="list content of image or repositories") p_list.set_defaults(func=c_list) # search command parser Loading installsystems/image.py +13 −17 Original line number Diff line number Diff line Loading @@ -417,29 +417,25 @@ class PackageImage(Image): arrowlevel(-1) return desc def show(self, verbose=False, list=False): def show(self, verbose=False): ''' Display image content ''' out('Name : %s' % self.name) out('Version : %s' % self.version) out('Date : %s' % time.asctime(time.gmtime(self.date))) out('#light##yellow#Name:#reset# %s' % self.name) out('#light##yellow#Version:#reset# %s' % self.version) out('#yellow#Date:#reset# %s' % time.asctime(time.gmtime(self.date))) out('#yellow#Description:#reset# %s' % self.description) out('#yellow#Author:#reset# %s' % self.author) out('#yellow#MD5:#reset# %s' % self.md5) if verbose: out('Description : %s' % self.description) out('Author : %s' % self.author) out('MD5 : %s' % self.md5 ) out('Payload :') payloads = self.payload for payload_name in payloads: payload = payloads[payload_name] out(' Name : %s' % payload_name) out(' Date : %s' % time.asctime(time.gmtime(payload.mtime))) out(' Size : %s' % (istools.human_size(payload.size))) out(' MD5 : %s' % payload.md5) out('') out('') if list: out('Content : ') out('#light##yellow#Payload:#reset# %s' % payload_name) out(' #yellow#Date:#reset# %s' % time.asctime(time.gmtime(payload.mtime))) out(' #yellow#Size:#reset# %s' % (istools.human_size(payload.size))) out(' #yellow#MD5:#reset# %s' % payload.md5) out('#light##yellow#Content:#reset#') self._tarball.list(verbose) def check(self, message="Check MD5"): Loading installsystems/repository.py +22 −15 Original line number Diff line number Diff line Loading @@ -185,26 +185,22 @@ class Repository(object): List images in repository ''' images = self.db.ask("SELECT md5, name, version, date,\ author, description, size FROM image").fetchall() author, description, size FROM image ORDER BY name, version").fetchall() for image_md5, image_name, image_version, image_date, image_author,\ image_description, image_size in images: out('Name : %s' % image_name) out('Version : %s' % image_version) out('Date : %s' % time.asctime(time.gmtime(image_date))) for (image_md5, image_name, image_version, image_date, image_author, image_description, image_size) in images: out('#light##yellow#%s #reset#v%s' % (image_name, image_version)) if verbose: out('Description : %s' % image_description) out('Author : %s' % image_author) out('MD5 : %s' % image_md5) out('Payload :') out(' #yellow#Date:#reset# %s' % time.asctime(time.gmtime(image_date))) out(' #yellow#Description:#reset# %s' % image_description) out(' #yellow#Author:#reset# %s' % image_author) out(' #yellow#MD5:#reset# %s' % image_md5) payloads = self.db.ask("SELECT md5, name, size FROM payload\ WHERE image_md5 = ?", (image_md5,)).fetchall() for payload_md5, payload_name, payload_size in payloads: out(' Name : %s' % payload_name) out(' Size : %s' % (istools.human_size(payload_size))) out(' MD5 : %s' % payload_md5) out('') out('') out(' #light##yellow#Payload:#reset# %s' % payload_name) out(' #yellow#Size:#reset# %s' % (istools.human_size(payload_size))) out(' #yellow#MD5:#reset# %s' % payload_md5) def _remove_file(self, filename): ''' Loading Loading @@ -534,3 +530,14 @@ class RepositoryManager(object): if repo.has(name, version): return repo.get(name, version) raise Exception("Unable to find %s v%s" % (name, version)) def show(self, verbose=False): ''' Show repository inside manager ''' for repo in self.repos: repo.config.name s = "#light##blue#%s#reset#"% repo.config.name if verbose: s += ' (%s)' % repo.config.path out(s) Loading
bin/is +25 −42 Original line number Diff line number Diff line Loading @@ -139,56 +139,39 @@ def c_list(parser, args): ''' List images in repository or image content ''' args.repo_filter = None # List available repositories if len(args.list_args) == 0: # List available repository repoman = load_repositories(args) arrow('#light##green#[Repos]#reset#') for repo in repoman: out(repo.config.name) # <repo> | <image> | <image file> repoman.show(verbose=args.detail) return # list direct image or reposity content elif len(args.list_args) == 1: # <image file> if istools.pathtype(args.list_args[0]) == 'file' and\ os.path.isfile(args.list_args[0]): pkg = PackageImage(istools.abspath(args.list_args[0])) arrow('#light##green#[Image]#reset# %s' % pkg.name) pkg.show(verbose=args.verbose_list, list=True) # list image file content if (istools.pathtype(args.list_args[0]) == 'file' and os.path.isfile(args.list_args[0])): pkg = PackageImage(args.list_args[0]) pkg.show(verbose=args.detail) # list repository content else: args.repo_filter = args.list_args[0] repoman = load_repositories(args) # <repo> if len(repoman) != 0: for repo in repoman: arrow('#light##green#[Repo]#reset# %s' % repo.config.name) repo.show(args.verbose_list) # <image> else: args.repo_filter = None args.image = args.list_args[0] args.image_version = None # <repo> <image> | <image> <version> repo.show(args.detail) return # list last image version elif len(args.list_args) == 2: # <repo> <image> if not PackageImage.check_image_version(args.list_args[1]): args.repo_filter = args.list_args[0] args.image = args.list_args[1] args.image_version = None # <image> <version> else: args.image = args.list_args[0] args.image_version = args.list_args[1] # <repo> <image> <version> # list specific image version elif len(args.list_args) == 3: args.repo_filter = args.list_args[0] args.image = args.list_args[1] args.image_version = args.list_args[2] if hasattr(args, 'image'): # display content of image accross a repositories repoman = load_repositories(args) pkg = repoman.get(args.image, args.image_version) arrow('#light##green#[Image]#reset# %s' % pkg.name) pkg.show(verbose=args.verbose_list, list=True) pkg.show(verbose=args.detail) def c_cat(parser, args): ''' Loading Loading @@ -321,9 +304,9 @@ p_get.set_defaults(func=c_get) # list command parser p_list = subparsers.add_parser("list", help=c_list.__doc__.lower()) p_list.add_argument("-l", action="store_true", dest='verbose_list', default=False, help='Detailled list output') p_list.add_argument("list_args", nargs="*", help="Repo or image to list") p_list.add_argument("-l", action="store_true", dest='detail', default=False, help='detailled list output') p_list.add_argument("list_args", nargs="*", help="list content of image or repositories") p_list.set_defaults(func=c_list) # search command parser Loading
installsystems/image.py +13 −17 Original line number Diff line number Diff line Loading @@ -417,29 +417,25 @@ class PackageImage(Image): arrowlevel(-1) return desc def show(self, verbose=False, list=False): def show(self, verbose=False): ''' Display image content ''' out('Name : %s' % self.name) out('Version : %s' % self.version) out('Date : %s' % time.asctime(time.gmtime(self.date))) out('#light##yellow#Name:#reset# %s' % self.name) out('#light##yellow#Version:#reset# %s' % self.version) out('#yellow#Date:#reset# %s' % time.asctime(time.gmtime(self.date))) out('#yellow#Description:#reset# %s' % self.description) out('#yellow#Author:#reset# %s' % self.author) out('#yellow#MD5:#reset# %s' % self.md5) if verbose: out('Description : %s' % self.description) out('Author : %s' % self.author) out('MD5 : %s' % self.md5 ) out('Payload :') payloads = self.payload for payload_name in payloads: payload = payloads[payload_name] out(' Name : %s' % payload_name) out(' Date : %s' % time.asctime(time.gmtime(payload.mtime))) out(' Size : %s' % (istools.human_size(payload.size))) out(' MD5 : %s' % payload.md5) out('') out('') if list: out('Content : ') out('#light##yellow#Payload:#reset# %s' % payload_name) out(' #yellow#Date:#reset# %s' % time.asctime(time.gmtime(payload.mtime))) out(' #yellow#Size:#reset# %s' % (istools.human_size(payload.size))) out(' #yellow#MD5:#reset# %s' % payload.md5) out('#light##yellow#Content:#reset#') self._tarball.list(verbose) def check(self, message="Check MD5"): Loading
installsystems/repository.py +22 −15 Original line number Diff line number Diff line Loading @@ -185,26 +185,22 @@ class Repository(object): List images in repository ''' images = self.db.ask("SELECT md5, name, version, date,\ author, description, size FROM image").fetchall() author, description, size FROM image ORDER BY name, version").fetchall() for image_md5, image_name, image_version, image_date, image_author,\ image_description, image_size in images: out('Name : %s' % image_name) out('Version : %s' % image_version) out('Date : %s' % time.asctime(time.gmtime(image_date))) for (image_md5, image_name, image_version, image_date, image_author, image_description, image_size) in images: out('#light##yellow#%s #reset#v%s' % (image_name, image_version)) if verbose: out('Description : %s' % image_description) out('Author : %s' % image_author) out('MD5 : %s' % image_md5) out('Payload :') out(' #yellow#Date:#reset# %s' % time.asctime(time.gmtime(image_date))) out(' #yellow#Description:#reset# %s' % image_description) out(' #yellow#Author:#reset# %s' % image_author) out(' #yellow#MD5:#reset# %s' % image_md5) payloads = self.db.ask("SELECT md5, name, size FROM payload\ WHERE image_md5 = ?", (image_md5,)).fetchall() for payload_md5, payload_name, payload_size in payloads: out(' Name : %s' % payload_name) out(' Size : %s' % (istools.human_size(payload_size))) out(' MD5 : %s' % payload_md5) out('') out('') out(' #light##yellow#Payload:#reset# %s' % payload_name) out(' #yellow#Size:#reset# %s' % (istools.human_size(payload_size))) out(' #yellow#MD5:#reset# %s' % payload_md5) def _remove_file(self, filename): ''' Loading Loading @@ -534,3 +530,14 @@ class RepositoryManager(object): if repo.has(name, version): return repo.get(name, version) raise Exception("Unable to find %s v%s" % (name, version)) def show(self, verbose=False): ''' Show repository inside manager ''' for repo in self.repos: repo.config.name s = "#light##blue#%s#reset#"% repo.config.name if verbose: s += ' (%s)' % repo.config.path out(s)