From e5f40e58333480fc3921e1211c965e538b8f999a Mon Sep 17 00:00:00 2001 From: Piotr Dec Date: Mon, 15 Dec 2025 21:51:26 +0100 Subject: [PATCH 1/2] fix: package prefixes --- src/karl/__init__.py | 2 +- src/karl/services/containers.py | 2 +- src/karl/services/mo.py | 2 +- src/karl/services/passwords.py | 2 +- src/karl/services/vcs.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/karl/__init__.py b/src/karl/__init__.py index 5dec085..3fe0830 100644 --- a/src/karl/__init__.py +++ b/src/karl/__init__.py @@ -1,4 +1,4 @@ -from config import get_settings +from .config import get_settings def main() -> None: diff --git a/src/karl/services/containers.py b/src/karl/services/containers.py index 8803913..3ec794c 100644 --- a/src/karl/services/containers.py +++ b/src/karl/services/containers.py @@ -5,7 +5,7 @@ import docker from docker.models.containers import Container from injectable import injectable -from model.containers import Tree, Compose, SimpleContainer +from karl.model.containers import Tree, Compose, SimpleContainer logger = logging.getLogger(__name__) diff --git a/src/karl/services/mo.py b/src/karl/services/mo.py index 9d5756e..c063d62 100644 --- a/src/karl/services/mo.py +++ b/src/karl/services/mo.py @@ -4,7 +4,7 @@ from typing import Annotated from injectable import injectable, autowired, Autowired -from services import Passwords +from karl.services import Passwords class ValueTemplate(Template): diff --git a/src/karl/services/passwords.py b/src/karl/services/passwords.py index a76dac8..5eddf31 100644 --- a/src/karl/services/passwords.py +++ b/src/karl/services/passwords.py @@ -34,7 +34,7 @@ class KeyRequest: @injectable(singleton=True) class Passwords: def __init__(self): - from config import get_settings + from karl.config import get_settings settings = get_settings() import keyring_backend keyring.set_keyring(keyring=keyring_backend.Backend()) diff --git a/src/karl/services/vcs.py b/src/karl/services/vcs.py index 8796787..5526503 100644 --- a/src/karl/services/vcs.py +++ b/src/karl/services/vcs.py @@ -1,7 +1,7 @@ from git import Repo, Remote from injectable import injectable -from config import GitConfig, get_settings +from karl.config import GitConfig, get_settings @injectable(singleton=True) From 4791f68ef21988c53a4660c50f0eca4afb84cf23 Mon Sep 17 00:00:00 2001 From: Piotr Dec Date: Mon, 15 Dec 2025 21:55:36 +0100 Subject: [PATCH 2/2] fix: inverted dots and slashes --- src/karl/services/passwords.py | 4 ++-- tests/config/config.yaml | 3 +++ tests/files/test1/test.mo.yaml | 8 ++++---- 3 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 tests/config/config.yaml diff --git a/src/karl/services/passwords.py b/src/karl/services/passwords.py index 5eddf31..bf2cda0 100644 --- a/src/karl/services/passwords.py +++ b/src/karl/services/passwords.py @@ -14,7 +14,7 @@ class KeyRequest: self._parse_prompt(prompt) def _parse_prompt(self, prompt: str): - prompt_parts = prompt.split("/") + prompt_parts = prompt.split(".") key = None match len(prompt_parts): case 1: @@ -27,7 +27,7 @@ class KeyRequest: key = None if key is None: return - key_parts = key.split(".") + key_parts = key.split("/") self.path = key_parts[:] if len(key_parts) > 1 else None self.entry_name = key_parts[-1] diff --git a/tests/config/config.yaml b/tests/config/config.yaml new file mode 100644 index 0000000..d300746 --- /dev/null +++ b/tests/config/config.yaml @@ -0,0 +1,3 @@ +kp: + file: "../config/kp.kdbx" + secret: "../config/secret.txt" diff --git a/tests/files/test1/test.mo.yaml b/tests/files/test1/test.mo.yaml index 11bd6b5..d5a82d5 100644 --- a/tests/files/test1/test.mo.yaml +++ b/tests/files/test1/test.mo.yaml @@ -1,5 +1,5 @@ value: ${sample} -nested: ${some.nested.value} -custom: ${custom/field} -uname: ${sample/username} -invalid: ${double/slash/example} +nested: ${some/nested/value} +custom: ${custom.field} +uname: ${sample.username} +invalid: ${double.dot.example}