Formatting: Format all python code with black.
This CL is probably not what you're looking for, it's only
automated formatting. Ignore it with
`git blame --ignore-rev <revision>` for this commit.
BUG=b:233893248
TEST=CQ
Change-Id: I66591d7a738d241aed3290138c0f68065ab10a6d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/3879174
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Alex Klein <saklein@chromium.org>
diff --git a/scripts/cros_workon.py b/scripts/cros_workon.py
index 2aacbcb..833487d 100644
--- a/scripts/cros_workon.py
+++ b/scripts/cros_workon.py
@@ -18,88 +18,122 @@
def GetParser():
- """Get a CLI parser."""
- parser = commandline.ArgumentParser(description=__doc__)
- parser.add_argument('--board', default=cros_build_lib.GetDefaultBoard(),
- help='The board to set package keywords for.')
- parser.add_argument('--host', default=False, action='store_true',
- help='Uses the host instead of board')
- parser.add_argument('--command', default='git status', dest='iterate_command',
- help='The command to be run by forall.')
- parser.add_argument('--workon_only', default=False, action='store_true',
- help='Apply to packages that have a workon ebuild only')
- parser.add_argument('--all', default=False, action='store_true',
- help='Apply to all possible packages for the '
- 'given command (overrides workon_only)')
+ """Get a CLI parser."""
+ parser = commandline.ArgumentParser(description=__doc__)
+ parser.add_argument(
+ "--board",
+ default=cros_build_lib.GetDefaultBoard(),
+ help="The board to set package keywords for.",
+ )
+ parser.add_argument(
+ "--host",
+ default=False,
+ action="store_true",
+ help="Uses the host instead of board",
+ )
+ parser.add_argument(
+ "--command",
+ default="git status",
+ dest="iterate_command",
+ help="The command to be run by forall.",
+ )
+ parser.add_argument(
+ "--workon_only",
+ default=False,
+ action="store_true",
+ help="Apply to packages that have a workon ebuild only",
+ )
+ parser.add_argument(
+ "--all",
+ default=False,
+ action="store_true",
+ help="Apply to all possible packages for the "
+ "given command (overrides workon_only)",
+ )
- commands = [
- ('start', 'Moves an ebuild to live (intended to support development)'),
- ('stop', 'Moves an ebuild to stable (use last known good)'),
- ('info', 'Print package name, repo name, and source directory.'),
- ('list', 'List of live ebuilds (workon ebuilds if --all)'),
- ('list-all', 'List all of the live ebuilds for all setup boards'),
- ('iterate', 'For each ebuild, cd to the source dir and run a command'),
- ]
- command_parsers = parser.add_subparsers(dest='command', title='commands')
- for command, description in commands:
- sub_parser = command_parsers.add_parser(command, description=description,
- help=description)
- sub_parser.add_argument('packages', nargs='*',
- help='The packages to run command against.')
+ commands = [
+ ("start", "Moves an ebuild to live (intended to support development)"),
+ ("stop", "Moves an ebuild to stable (use last known good)"),
+ ("info", "Print package name, repo name, and source directory."),
+ ("list", "List of live ebuilds (workon ebuilds if --all)"),
+ ("list-all", "List all of the live ebuilds for all setup boards"),
+ ("iterate", "For each ebuild, cd to the source dir and run a command"),
+ ]
+ command_parsers = parser.add_subparsers(dest="command", title="commands")
+ for command, description in commands:
+ sub_parser = command_parsers.add_parser(
+ command, description=description, help=description
+ )
+ sub_parser.add_argument(
+ "packages", nargs="*", help="The packages to run command against."
+ )
- return parser
+ return parser
def main(argv):
- parser = GetParser()
- options = parser.parse_args(argv)
- options.Freeze()
+ parser = GetParser()
+ options = parser.parse_args(argv)
+ options.Freeze()
- if options.command == 'list-all':
- board_to_packages = workon_helper.ListAllWorkedOnAtoms()
- color = terminal.Color()
- for board in sorted(board_to_packages):
- print(color.Start(color.GREEN) + board + ':' + color.Stop())
- for package in board_to_packages[board]:
- print(' ' + package)
- print('')
+ if options.command == "list-all":
+ board_to_packages = workon_helper.ListAllWorkedOnAtoms()
+ color = terminal.Color()
+ for board in sorted(board_to_packages):
+ print(color.Start(color.GREEN) + board + ":" + color.Stop())
+ for package in board_to_packages[board]:
+ print(" " + package)
+ print("")
+ return 0
+
+ # TODO(wiley): Assert that we're not running as root.
+ cros_build_lib.AssertInsideChroot()
+
+ if options.host:
+ friendly_name = "host"
+ sysroot = "/"
+ elif options.board:
+ friendly_name = options.board
+ sysroot = build_target_lib.get_default_sysroot_path(options.board)
+ else:
+ cros_build_lib.Die("You must specify either --host, --board")
+
+ helper = workon_helper.WorkonHelper(sysroot, friendly_name)
+ try:
+ if options.command == "start":
+ helper.StartWorkingOnPackages(
+ options.packages,
+ use_all=options.all,
+ use_workon_only=options.workon_only,
+ )
+ elif options.command == "stop":
+ helper.StopWorkingOnPackages(
+ options.packages,
+ use_all=options.all,
+ use_workon_only=options.workon_only,
+ )
+ elif options.command == "info":
+ triples = helper.GetPackageInfo(
+ options.packages,
+ use_all=options.all,
+ use_workon_only=options.workon_only,
+ )
+ for package, repos, paths in triples:
+ print(package, ",".join(repos), ",".join(paths))
+ elif options.command == "list":
+ packages = helper.ListAtoms(
+ use_all=options.all, use_workon_only=options.workon_only
+ )
+ if packages:
+ print("\n".join(packages))
+ elif options.command == "iterate":
+ helper.RunCommandInPackages(
+ options.packages,
+ options.iterate_command,
+ use_all=options.all,
+ use_workon_only=options.workon_only,
+ )
+ except workon_helper.WorkonError as e:
+ cros_build_lib.Die(e)
+
return 0
-
- # TODO(wiley): Assert that we're not running as root.
- cros_build_lib.AssertInsideChroot()
-
- if options.host:
- friendly_name = 'host'
- sysroot = '/'
- elif options.board:
- friendly_name = options.board
- sysroot = build_target_lib.get_default_sysroot_path(options.board)
- else:
- cros_build_lib.Die('You must specify either --host, --board')
-
- helper = workon_helper.WorkonHelper(sysroot, friendly_name)
- try:
- if options.command == 'start':
- helper.StartWorkingOnPackages(options.packages, use_all=options.all,
- use_workon_only=options.workon_only)
- elif options.command == 'stop':
- helper.StopWorkingOnPackages(options.packages, use_all=options.all,
- use_workon_only=options.workon_only)
- elif options.command == 'info':
- triples = helper.GetPackageInfo(options.packages, use_all=options.all,
- use_workon_only=options.workon_only)
- for package, repos, paths in triples:
- print(package, ','.join(repos), ','.join(paths))
- elif options.command == 'list':
- packages = helper.ListAtoms(
- use_all=options.all, use_workon_only=options.workon_only)
- if packages:
- print('\n'.join(packages))
- elif options.command == 'iterate':
- helper.RunCommandInPackages(options.packages, options.iterate_command,
- use_all=options.all,
- use_workon_only=options.workon_only)
- except workon_helper.WorkonError as e:
- cros_build_lib.Die(e)
-
- return 0