config: cmd_profile_init(): make profile name optional, default to config.file.profiles.current

This commit is contained in:
InsanePrawn 2022-09-14 03:31:59 +02:00
parent 771199d932
commit 72d9bf3a37

View file

@ -78,6 +78,8 @@ def prompt_profile(
"""Prompts the user for every field in `defaults`. Set values to None for an empty profile.""" """Prompts the user for every field in `defaults`. Set values to None for an empty profile."""
PARSEABLE_FIELDS = ['device', 'flavour'] PARSEABLE_FIELDS = ['device', 'flavour']
profile: Any = PROFILE_EMPTY | defaults profile: Any = PROFILE_EMPTY | defaults
if name == 'current':
raise Exception("profile name 'current' not allowed")
# don't use get_profile() here because we need the sparse profile # don't use get_profile() here because we need the sparse profile
if name in config.file.profiles: if name in config.file.profiles:
profile |= config.file.profiles[name] profile |= config.file.profiles[name]
@ -304,11 +306,14 @@ def cmd_profile():
@noninteractive_flag @noninteractive_flag
@noop_flag @noop_flag
@noparse_flag @noparse_flag
@click.argument('name', required=True) @click.argument('name', required=False)
@click.pass_context @click.pass_context
def cmd_profile_init(ctx, name: str, non_interactive: bool = False, noop: bool = False, no_parse: bool = False): def cmd_profile_init(ctx, name: Optional[str] = None, non_interactive: bool = False, noop: bool = False, no_parse: bool = False):
"""Create or edit a profile""" """Create or edit a profile"""
profile = deepcopy(PROFILE_EMPTY) profile = deepcopy(PROFILE_EMPTY)
if name == 'current':
raise Exception("profile name 'current' not allowed")
name = name or config.file.profiles.current
if name in config.file.profiles: if name in config.file.profiles:
profile |= config.file.profiles[name] profile |= config.file.profiles[name]