snap: now using CmdRunner (#6468)

* snap: now using CmdRunner

* add changelog frag

* minor adjustment + comment

* simplified args for cmdrunner when retrieving snap options

* Update changelogs/fragments/6468-snap-cmdrunner.yml
This commit is contained in:
Alexei Znamensky 2023-05-08 06:22:53 +12:00 committed by GitHub
parent fe224a6537
commit ca388f064a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 63 additions and 59 deletions

View file

@ -15,15 +15,29 @@ _alias_state_map = dict(
info='aliases',
)
_state_map = dict(
present='install',
absent='remove',
enabled='enable',
disabled='disable',
)
def snap_runner(module, **kwargs):
runner = CmdRunner(
module,
module.get_bin_path("snap"),
"snap",
arg_formats=dict(
state_alias=cmd_runner_fmt.as_map(_alias_state_map),
state_alias=cmd_runner_fmt.as_map(_alias_state_map), # snap_alias only
name=cmd_runner_fmt.as_list(),
alias=cmd_runner_fmt.as_list(),
alias=cmd_runner_fmt.as_list(), # snap_alias only
state=cmd_runner_fmt.as_map(_state_map),
_list=cmd_runner_fmt.as_fixed("list"),
_set=cmd_runner_fmt.as_fixed("set"),
get=cmd_runner_fmt.as_fixed(["get", "-d"]),
classic=cmd_runner_fmt.as_bool("--classic"),
channel=cmd_runner_fmt.as_func(lambda v: [] if v == 'stable' else ['--channel', '{0}'.format(v)]),
options=cmd_runner_fmt.as_list(),
),
check_rc=False,
**kwargs