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..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,14 +27,14 @@ 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] @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) 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}