wrapper/: introduce Wrapper protocol
This commit is contained in:
parent
3fbda2e089
commit
14a2d0ae12
3 changed files with 37 additions and 12 deletions
|
@ -1,13 +1,13 @@
|
|||
import os
|
||||
import click
|
||||
import logging
|
||||
|
||||
from config import config
|
||||
from utils import programs_available
|
||||
from .docker import DockerWrapper
|
||||
from .wrapper import Wrapper
|
||||
|
||||
wrapper_impls = {
|
||||
'docker': DockerWrapper,
|
||||
wrapper_impls: dict[str, Wrapper] = {
|
||||
'docker': DockerWrapper(),
|
||||
}
|
||||
|
||||
|
||||
|
@ -15,15 +15,18 @@ def get_wrapper_type(wrapper_type: str = None):
|
|||
return wrapper_type or config.file['wrapper']['type']
|
||||
|
||||
|
||||
def get_wrapper_impl(wrapper_type: str = None) -> Wrapper:
|
||||
return wrapper_impls[get_wrapper_type(wrapper_type)]
|
||||
|
||||
|
||||
def wrap(wrapper_type: str = None):
|
||||
wrapper_type = get_wrapper_type(wrapper_type)
|
||||
if wrapper_type != 'none':
|
||||
wrapper_impls[wrapper_type]().wrap()
|
||||
get_wrapper_impl(wrapper_type).wrap()
|
||||
|
||||
|
||||
def is_wrapped(wrapper_type: str = None):
|
||||
wrapper_type = get_wrapper_type(wrapper_type)
|
||||
return os.getenv('KUPFERBOOTSTRAP_WRAPPED') == wrapper_type.capitalize()
|
||||
return get_wrapper_impl(wrapper_type).is_wrapped()
|
||||
|
||||
|
||||
def enforce_wrap(no_wrapper=False):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue