diff options
| author | Gavin Mak <gavinmak@google.com> | 2023-03-11 06:46:20 +0000 |
|---|---|---|
| committer | LUCI <gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-03-22 17:46:28 +0000 |
| commit | ea2e330e43c182dc16b0111ebc69ee5a71ee4ce1 (patch) | |
| tree | dc33ba0e56825b3e007d0589891756724725a465 /subcmds/list.py | |
| parent | 1604cf255f8c1786a23388db6d5277ac7949a24a (diff) | |
| download | git-repo-ea2e330e43c182dc16b0111ebc69ee5a71ee4ce1.tar.gz git-repo-ea2e330e43c182dc16b0111ebc69ee5a71ee4ce1.zip | |
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 <vapier@google.com>
Tested-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
Diffstat (limited to 'subcmds/list.py')
| -rw-r--r-- | subcmds/list.py | 158 |
1 files changed, 96 insertions, 62 deletions
diff --git a/subcmds/list.py b/subcmds/list.py index ad8036ee0..24e3e1fc0 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] [<project>...] %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)) |
