From ea2e330e43c182dc16b0111ebc69ee5a71ee4ce1 Mon Sep 17 00:00:00 2001 From: Gavin Mak Date: Sat, 11 Mar 2023 06:46:20 +0000 Subject: Format codebase with black and check formatting in CQ Apply rules set by https://gerrit-review.googlesource.com/c/git-repo/+/362954/ across the codebase and fix any lingering errors caught by flake8. Also check black formatting in run_tests (and CQ). Bug: b/267675342 Change-Id: I972d77649dac351150dcfeb1cd1ad0ea2efc1956 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/363474 Reviewed-by: Mike Frysinger Tested-by: Gavin Mak Commit-Queue: Gavin Mak --- subcmds/list.py | 158 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 96 insertions(+), 62 deletions(-) (limited to 'subcmds/list.py') diff --git a/subcmds/list.py b/subcmds/list.py index ad8036ee..24e3e1fc 100644 --- a/subcmds/list.py +++ b/subcmds/list.py @@ -18,13 +18,13 @@ from command import Command, MirrorSafeCommand class List(Command, MirrorSafeCommand): - COMMON = True - helpSummary = "List projects and their associated directories" - helpUsage = """ + COMMON = True + helpSummary = "List projects and their associated directories" + helpUsage = """ %prog [-f] [...] %prog [-f] -r str1 [str2]... """ - helpDescription = """ + helpDescription = """ List all projects; pass '.' to list the project for the cwd. By default, only projects that currently exist in the checkout are shown. If @@ -35,69 +35,103 @@ groups, then also pass --groups all. This is similar to running: repo forall -c 'echo "$REPO_PATH : $REPO_PROJECT"'. """ - def _Options(self, p): - p.add_option('-r', '--regex', - dest='regex', action='store_true', - help='filter the project list based on regex or wildcard matching of strings') - p.add_option('-g', '--groups', - dest='groups', - help='filter the project list based on the groups the project is in') - p.add_option('-a', '--all', - action='store_true', - help='show projects regardless of checkout state') - p.add_option('-n', '--name-only', - dest='name_only', action='store_true', - help='display only the name of the repository') - p.add_option('-p', '--path-only', - dest='path_only', action='store_true', - help='display only the path of the repository') - p.add_option('-f', '--fullpath', - dest='fullpath', action='store_true', - help='display the full work tree path instead of the relative path') - p.add_option('--relative-to', metavar='PATH', - help='display paths relative to this one (default: top of repo client checkout)') + def _Options(self, p): + p.add_option( + "-r", + "--regex", + dest="regex", + action="store_true", + help="filter the project list based on regex or wildcard matching " + "of strings", + ) + p.add_option( + "-g", + "--groups", + dest="groups", + help="filter the project list based on the groups the project is " + "in", + ) + p.add_option( + "-a", + "--all", + action="store_true", + help="show projects regardless of checkout state", + ) + p.add_option( + "-n", + "--name-only", + dest="name_only", + action="store_true", + help="display only the name of the repository", + ) + p.add_option( + "-p", + "--path-only", + dest="path_only", + action="store_true", + help="display only the path of the repository", + ) + p.add_option( + "-f", + "--fullpath", + dest="fullpath", + action="store_true", + help="display the full work tree path instead of the relative path", + ) + p.add_option( + "--relative-to", + metavar="PATH", + help="display paths relative to this one (default: top of repo " + "client checkout)", + ) - def ValidateOptions(self, opt, args): - if opt.fullpath and opt.name_only: - self.OptionParser.error('cannot combine -f and -n') + def ValidateOptions(self, opt, args): + if opt.fullpath and opt.name_only: + self.OptionParser.error("cannot combine -f and -n") - # Resolve any symlinks so the output is stable. - if opt.relative_to: - opt.relative_to = os.path.realpath(opt.relative_to) + # Resolve any symlinks so the output is stable. + if opt.relative_to: + opt.relative_to = os.path.realpath(opt.relative_to) - def Execute(self, opt, args): - """List all projects and the associated directories. + def Execute(self, opt, args): + """List all projects and the associated directories. - This may be possible to do with 'repo forall', but repo newbies have - trouble figuring that out. The idea here is that it should be more - discoverable. + This may be possible to do with 'repo forall', but repo newbies have + trouble figuring that out. The idea here is that it should be more + discoverable. - Args: - opt: The options. - args: Positional args. Can be a list of projects to list, or empty. - """ - if not opt.regex: - projects = self.GetProjects(args, groups=opt.groups, missing_ok=opt.all, - all_manifests=not opt.this_manifest_only) - else: - projects = self.FindProjects(args, all_manifests=not opt.this_manifest_only) + Args: + opt: The options. + args: Positional args. Can be a list of projects to list, or empty. + """ + if not opt.regex: + projects = self.GetProjects( + args, + groups=opt.groups, + missing_ok=opt.all, + all_manifests=not opt.this_manifest_only, + ) + else: + projects = self.FindProjects( + args, all_manifests=not opt.this_manifest_only + ) - def _getpath(x): - if opt.fullpath: - return x.worktree - if opt.relative_to: - return os.path.relpath(x.worktree, opt.relative_to) - return x.RelPath(local=opt.this_manifest_only) + def _getpath(x): + if opt.fullpath: + return x.worktree + if opt.relative_to: + return os.path.relpath(x.worktree, opt.relative_to) + return x.RelPath(local=opt.this_manifest_only) - lines = [] - for project in projects: - if opt.name_only and not opt.path_only: - lines.append("%s" % (project.name)) - elif opt.path_only and not opt.name_only: - lines.append("%s" % (_getpath(project))) - else: - lines.append("%s : %s" % (_getpath(project), project.name)) + lines = [] + for project in projects: + if opt.name_only and not opt.path_only: + lines.append("%s" % (project.name)) + elif opt.path_only and not opt.name_only: + lines.append("%s" % (_getpath(project))) + else: + lines.append("%s : %s" % (_getpath(project), project.name)) - if lines: - lines.sort() - print('\n'.join(lines)) + if lines: + lines.sort() + print("\n".join(lines)) -- cgit v1.2.3-54-g00ecf