lib.ExecContext.log_name: Add property

Add a .log_name property to be used in log messages.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-04-15 22:22:17 +02:00
commit 4f17a9cc93

View file

@ -169,6 +169,7 @@ class ExecContext(abc.ABC):
self.__uri = uri self.__uri = uri
self.__interactive = interactive self.__interactive = interactive
self.__verbose_default = verbose_default self.__verbose_default = verbose_default
self.__log_name: str|None = None
assert verbose_default is not None assert verbose_default is not None
async def __aenter__(self): async def __aenter__(self):
@ -181,6 +182,16 @@ class ExecContext(abc.ABC):
def uri(self) -> str: def uri(self) -> str:
return self.__uri return self.__uri
@property
def log_name(self) -> str:
if self.__log_name is None:
from urllib.parse import urlparse
parsed = urlparse(self.__uri)
scheme = 'local' if parsed.scheme is None else parsed.scheme
hostname = '' if parsed.hostname is None else ''
self.__log_name = f'{scheme}://{hostname}'
return self.__log_name
@property @property
def interactive(self) -> bool|None: def interactive(self) -> bool|None:
return self.__interactive return self.__interactive