Skip to content
Snippets Groups Projects
Commit aea3254c authored by Aurélien Dunand's avatar Aurélien Dunand Committed by Seblu
Browse files

Refactoring code for select one repository

parent 4d10376f
No related branches found
No related tags found
No related merge requests found
...@@ -45,6 +45,13 @@ def load_repositories(args): ...@@ -45,6 +45,13 @@ def load_repositories(args):
repoman.register(repoconf) repoman.register(repoconf)
return repoman return repoman
def select_one_repository(repoman):
if len(repoman) == 0:
raise Exception("No repository selected")
elif len(repoman) > 1:
raise Exception("Please select only one repository")
return repoman[0]
def c_new(parser, args): def c_new(parser, args):
''' '''
Create a new source image Create a new source image
...@@ -87,11 +94,7 @@ def c_add(parser, args): ...@@ -87,11 +94,7 @@ def c_add(parser, args):
Add an image package into a repository Add an image package into a repository
''' '''
repoman = load_repositories(args) repoman = load_repositories(args)
if len(repoman) == 0: repo = select_one_repository(repoman)
raise Exception("No repository selected")
elif len(repoman) > 1:
raise Exception("Please select only one repository")
repo = repoman[0]
for image in args.path: for image in args.path:
pkg = PackageImage(image) pkg = PackageImage(image)
repo.add(pkg, delete=not args.preserve) repo.add(pkg, delete=not args.preserve)
...@@ -101,12 +104,8 @@ def c_del(parser, args): ...@@ -101,12 +104,8 @@ def c_del(parser, args):
Remove an image package from a repository Remove an image package from a repository
''' '''
repoman = load_repositories(args) repoman = load_repositories(args)
if len(repoman) == 0: repo = select_one_repository(repoman)
raise Exception("No repository selected") repo.delete(args.image_name, args.image_version, keep=args.keep)
elif len(repoman) > 1:
raise Exception("Please select only one repository")
repo = repoman[0]
repo.delete(args.image_name, args.image_version)
def c_install(parser, args): def c_install(parser, args):
''' '''
...@@ -191,11 +190,7 @@ def c_update(parser, args): ...@@ -191,11 +190,7 @@ def c_update(parser, args):
simg = SourceImage(args.path) simg = SourceImage(args.path)
repoman = load_repositories(args) repoman = load_repositories(args)
if len(repoman) == 0: repo = select_one_repository(repoman)
raise Exception("No repository selected")
elif len(repoman) > 1:
raise Exception("Please select only one repository")
repo = repoman[0]
image = simg.description["name"] image = simg.description["name"]
version = simg.description["version"] version = simg.description["version"]
if repo.has(image, version): if repo.has(image, version):
...@@ -244,18 +239,10 @@ def c_copy(parser, args): ...@@ -244,18 +239,10 @@ def c_copy(parser, args):
''' '''
args.repo_filter = args.repo_src args.repo_filter = args.repo_src
repoman = load_repositories(args) repoman = load_repositories(args)
if len(repoman) == 0: repo_src = select_one_repository(repoman)
raise Exception("No repository selected")
elif len(repoman) > 1:
raise Exception("Please select only one repository")
repo_src = repoman[0]
args.repo_filter = args.repo_dst args.repo_filter = args.repo_dst
repoman = load_repositories(args) repoman = load_repositories(args)
if len(repoman) == 0: repo_dst = select_one_repository(repoman)
raise Exception("No repository selected")
elif len(repoman) > 1:
raise Exception("Please select only one repository")
repo_dst = repoman[0]
if args.image_version is None: if args.image_version is None:
args.image_version = repo_src.last(args.image) args.image_version = repo_src.last(args.image)
if args.image_version == -1: if args.image_version == -1:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment