From 08dcdedf85dae3e464ef9a34cbd1c0b67659b463 Mon Sep 17 00:00:00 2001 From: Andre Anjos <andre.dos.anjos@gmail.com> Date: Fri, 17 Dec 2021 12:23:06 +0100 Subject: [PATCH] [scripts.settings] Be more flexible with group discovery --- bob/devtools/scripts/settings.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/bob/devtools/scripts/settings.py b/bob/devtools/scripts/settings.py index 4ddb3c49..feeb4113 100644 --- a/bob/devtools/scripts/settings.py +++ b/bob/devtools/scripts/settings.py @@ -20,7 +20,7 @@ logger = get_logger(__name__) def _change_settings(project, info, dry_run): """Updates the project settings using ``info``""" - name = f"{project.namespace['name']}/{project.name}" + name = f"{project.namespace['full_path']}/{project.name}" echo_normal(f"Changing {name}...") if info.get("archive") is not None: @@ -76,6 +76,12 @@ Examples: type=str, help="Set this to update the project description", ) +@click.option( + "-g", + "--group/--no-group", + default=False, + help="If set, consider the the provided name as a group name", +) @click.option( "-A", "--archive/--unarchive", @@ -92,7 +98,7 @@ Examples: ) @verbosity_option() @bdt.raise_on_error -def settings(projects, avatar, description, archive, dry_run): +def settings(projects, avatar, description, group, archive, dry_run): """Updates project settings""" # if we are in a dry-run mode, let's let it be known @@ -105,12 +111,12 @@ def settings(projects, avatar, description, archive, dry_run): for target in projects: - if "/" in target: # it is a specific project - gl_projects.append(_get_project(gl, target)) - - elif os.path.exists(target): # it is a file with project names + if os.path.exists(target): # it is a file with project names gl_projects += _get_projects_from_file(gl, target) + if not group: # it is a specific project + gl_projects.append(_get_project(gl, target)) + else: # it is a group - get all projects gl_projects += _get_projects_from_group(gl, target) -- GitLab