diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2022-11-08 14:39:28 +0100 |
---|---|---|
committer | Erik Skultety <eskultet@redhat.com> | 2023-01-17 07:30:56 +0000 |
commit | 6cbf46649a216b92358aa7e141762c55c77337a8 (patch) | |
tree | 289ee23924e09826c53d365b5709d28573e82238 | |
parent | 512d2eb0e3b92b7b8cd3ce9602a6ce13631a8fc2 (diff) | |
download | libvirt-ci-6cbf46649a216b92358aa7e141762c55c77337a8.zip libvirt-ci-6cbf46649a216b92358aa7e141762c55c77337a8.tar.gz libvirt-ci-6cbf46649a216b92358aa7e141762c55c77337a8.tar.bz2 |
util: remove global data directory
Now that the Projects object is propagated down from Application, make
the extra data directory part of the object instead.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | lcitool/application.py | 21 | ||||
-rw-r--r-- | lcitool/projects.py | 7 | ||||
-rw-r--r-- | lcitool/util.py | 13 |
3 files changed, 14 insertions, 27 deletions
diff --git a/lcitool/application.py b/lcitool/application.py index b840658..7505fe2 100644 --- a/lcitool/application.py +++ b/lcitool/application.py @@ -63,7 +63,7 @@ class Application: log.debug(f"Cmdline args={cli_args}") def _execute_playbook(self, playbook, hosts_pattern, projects_pattern, - git_revision, verbosity=0): + git_revision, data_dir, verbosity=0): from lcitool.ansible_wrapper import AnsibleWrapper, AnsibleWrapperError log.debug(f"Executing playbook '{playbook}': " @@ -75,7 +75,7 @@ class Application: targets = Targets() inventory = Inventory(targets, config) packages = Packages() - projects = Projects() + projects = Projects(data_dir) hosts_expanded = inventory.expand_hosts(hosts_pattern) projects_expanded = projects.expand_names(projects_pattern) @@ -155,7 +155,7 @@ class Application: def _action_projects(self, args): self._entrypoint_debug(args) - projects = Projects() + projects = Projects(args.data_dir) for project in sorted(projects.names): print(project) @@ -205,7 +205,7 @@ class Application: self._entrypoint_debug(args) self._execute_playbook("update", args.hosts, args.projects, - args.git_revision, args.verbose) + args.git_revision, args.data_dir, args.verbose) def _action_build(self, args): self._entrypoint_debug(args) @@ -219,14 +219,14 @@ class Application: ) self._execute_playbook("build", args.hosts, args.projects, - args.git_revision, args.verbose) + args.git_revision, args.data_dir, args.verbose) def _action_variables(self, args): self._entrypoint_debug(args) targets = Targets() packages = Packages() - projects = Projects() + projects = Projects(args.data_dir) projects_expanded = projects.expand_names(args.projects) if args.format == "shell": @@ -255,7 +255,7 @@ class Application: targets = Targets() packages = Packages() - projects = Projects() + projects = Projects(args.data_dir) projects_expanded = projects.expand_names(args.projects) target = BuildTarget(targets, packages, args.target, args.cross_arch) @@ -280,7 +280,7 @@ class Application: targets = Targets() packages = Packages() - projects = Projects() + projects = Projects(args.data_dir) projects_expanded = projects.expand_names(args.projects) target = BuildTarget(targets, packages, args.target, args.cross_arch) @@ -302,7 +302,7 @@ class Application: ci_path = Path(args.ci_dir) targets = Targets() packages = Packages() - projects = Projects() + projects = Projects(args.data_dir) manifest = Manifest(targets, packages, projects, args.manifest, args.quiet, ci_path, base_path) manifest.generate(args.dry_run) @@ -345,7 +345,7 @@ class Application: targets = Targets() packages = Packages() - projects = Projects() + projects = Projects(args.data_dir) projects_expanded = projects.expand_names(args.projects) target = BuildTarget(targets, packages, args.target, args.cross_arch) @@ -415,7 +415,6 @@ class Application: def run(self, args): try: - util.set_extra_data_dir(args.data_dir) args.func(self, args) except LcitoolError as ex: print(f"{ex.module_prefix} error:", ex, file=sys.stderr) diff --git a/lcitool/projects.py b/lcitool/projects.py index 6a45686..c99f71b 100644 --- a/lcitool/projects.py +++ b/lcitool/projects.py @@ -52,7 +52,8 @@ class Projects: self._load_internal() return self._internal - def __init__(self): + def __init__(self, data_dir=None): + self._data_dir = data_dir self._public = None self._internal = None @@ -71,8 +72,8 @@ class Projects: source = Path(resource_filename(__name__, "facts/projects")) projects = self._load_projects_from_path(source) - if util.get_extra_data_dir() is not None: - source = Path(util.get_extra_data_dir()).joinpath("projects") + if self._data_dir is not None: + source = Path(self._data_dir).joinpath("projects") projects.update(self._load_projects_from_path(source)) self._public = projects diff --git a/lcitool/util.py b/lcitool/util.py index c231df0..2de718e 100644 --- a/lcitool/util.py +++ b/lcitool/util.py @@ -217,19 +217,6 @@ def merge_dict(source, dest): merge_dict(source[key], dest[key]) -extra_data_dir = None - - -def get_extra_data_dir(): - global extra_data_dir - return extra_data_dir - - -def set_extra_data_dir(path): - global extra_data_dir - extra_data_dir = path - - def validate_cross_platform(cross_arch, osname): if osname not in ["Debian", "Fedora"]: raise ValueError(f"Cannot cross compile on {osname}") |