api: refactor create flake into create clan

This commit is contained in:
Johannes Kirschbauer
2024-06-11 12:10:55 +02:00
parent 9f0f44b470
commit 8dcb009e5b
8 changed files with 83 additions and 44 deletions

View File

@@ -0,0 +1,24 @@
import argparse
import logging
from collections.abc import Sequence
from typing import Any
log = logging.getLogger(__name__)
class AppendOptionAction(argparse.Action):
def __init__(self, option_strings: str, dest: str, **kwargs: Any) -> None:
super().__init__(option_strings, dest, **kwargs)
def __call__(
self,
parser: argparse.ArgumentParser,
namespace: argparse.Namespace,
values: str | Sequence[str] | None,
option_string: str | None = None,
) -> None:
lst = getattr(namespace, self.dest)
lst.append("--option")
assert isinstance(values, list), "values must be a list"
lst.append(values[0])
lst.append(values[1])