cpl_core.configuration package

Submodules

cpl_core.configuration.argument_abc module

class cpl_core.configuration.argument_abc.ArgumentABC(token: str, name: str, aliases: list[str], prevent_next_executable: bool = False, console_arguments: list['ArgumentABC'] | None = None)

Bases: ABC

add_console_argument(arg_type: ArgumentTypeEnum, *args, **kwargs) ArgumentABC

Creates and adds a console argument to known console arguments

Parameter:
arg_type: str

Specifies the specific type of the argument

Returns:

self cpl_core.configuration.console_argument.ConsoleArgument not created argument!

property aliases: list[str]
property console_arguments: list['ArgumentABC']
property name: str
property prevent_next_executable: bool
property token: str

cpl_core.configuration.argument_builder module

class cpl_core.configuration.argument_builder.ArgumentBuilder

Bases: object

static build_argument(arg_type: ArgumentTypeEnum, *args, **kwargs) ExecutableArgument | FlagArgument | VariableArgument

cpl_core.configuration.argument_executable_abc module

class cpl_core.configuration.argument_executable_abc.ArgumentExecutableABC

Bases: ABC

abstract run(args: list[str])

cpl_core.configuration.argument_type_enum module

class cpl_core.configuration.argument_type_enum.ArgumentTypeEnum(value)

Bases: Enum

An enumeration.

Executable = 1
Flag = 0
Variable = 3

cpl_core.configuration.configuration module

class cpl_core.configuration.configuration.Configuration

Bases: ConfigurationABC

add_configuration(key_type: T, value: any)

Add configuration object

Parameter:
key_type: Union[str, type]

Type of the value

value: any

Object of the value

add_console_argument(argument: ArgumentABC)

Adds console argument to known console arguments

Parameter:
argument: cpl_core.configuration.console_argument.ConsoleArgumentABC

Specifies the console argument

add_environment_variables(prefix: str)

Reads the environment variables

Parameter:
prefix: str

Prefix of the variables

add_json_file(name: str, optional: bool | None = None, output: bool = True, path: str | None = None)

Reads and saves settings from given json file

Parameter:
name: str

Name of the file

optional: str

Specifies whether an error should occur if the file was not found

output: bool

Specifies whether an output should take place

path: str

Path in which the file should be stored

property additional_arguments: list[str]
property argument_error_function: Callable | None
property arguments: list[cpl_core.configuration.argument_abc.ArgumentABC]
create_console_argument(arg_type: ArgumentTypeEnum, token: str, name: str, aliases: list[str], *args, **kwargs) ArgumentABC

Creates and adds a console argument to known console arguments

Parameter:
token: str

Specifies optional beginning of argument

name str

Specifies name of argument

aliases list[str]

Specifies possible aliases of name

value_token str

Specifies were the value begins

is_value_token_optional bool

Specifies if values are optional

runnable: cpl_core.configuration.console_argument.ConsoleArgumentABC

Specifies class to run when called if value is not None

Returns:

Object of cpl_core.configuration.console_argument.ConsoleArgumentABC

property environment: ApplicationEnvironmentABC
for_each_argument(call: Callable)

Iterates through all arguments and calls the call function

Parameter:
call: Callable

Call for each argument

get_configuration(search_type: Type[T]) T | None

Returns value from configuration by given type

Parameter:
search_type: Union[str, Type[cpl_core.configuration.configuration_model_abc.ConfigurationModelABC]]

Type to search for

Returns:

Object of Union[str, cpl_core.configuration.configuration_model_abc.ConfigurationModelABC]

parse_console_arguments(services: ServiceProviderABC, error: bool | None = None) bool

Reads the console arguments

Parameter:
error: bool

Defines is invalid argument error will be shown or not

Returns:

Bool to specify if executables were executed or not.

cpl_core.configuration.configuration_abc module

class cpl_core.configuration.configuration_abc.ConfigurationABC

Bases: ABC

abstract add_configuration(key_type: T, value: any)

Add configuration object

Parameter:
key_type: Union[str, type]

Type of the value

value: any

Object of the value

abstract add_console_argument(argument: ArgumentABC)

Adds console argument to known console arguments

Parameter:
argument: cpl_core.configuration.console_argument.ConsoleArgumentABC

Specifies the console argument

abstract add_environment_variables(prefix: str)

Reads the environment variables

Parameter:
prefix: str

Prefix of the variables

abstract add_json_file(name: str, optional: bool | None = None, output: bool = True, path: str | None = None)

Reads and saves settings from given json file

Parameter:
name: str

Name of the file

optional: str

Specifies whether an error should occur if the file was not found

output: bool

Specifies whether an output should take place

path: str

Path in which the file should be stored

abstract property additional_arguments: list[str]
abstract property argument_error_function: Callable | None
abstract property arguments: list[cpl_core.configuration.argument_abc.ArgumentABC]
abstract create_console_argument(arg_type: ArgumentTypeEnum, token: str, name: str, aliases: list[str], *args, **kwargs) ArgumentABC

Creates and adds a console argument to known console arguments

Parameter:
token: str

Specifies optional beginning of argument

name str

Specifies name of argument

aliases list[str]

Specifies possible aliases of name

value_token str

Specifies were the value begins

is_value_token_optional bool

Specifies if values are optional

runnable: cpl_core.configuration.console_argument.ConsoleArgumentABC

Specifies class to run when called if value is not None

Returns:

Object of cpl_core.configuration.console_argument.ConsoleArgumentABC

abstract property environment: ApplicationEnvironmentABC
abstract for_each_argument(call: Callable)

Iterates through all arguments and calls the call function

Parameter:
call: Callable

Call for each argument

abstract get_configuration(search_type: Type[T]) T | None

Returns value from configuration by given type

Parameter:
search_type: Union[str, Type[cpl_core.configuration.configuration_model_abc.ConfigurationModelABC]]

Type to search for

Returns:

Object of Union[str, cpl_core.configuration.configuration_model_abc.ConfigurationModelABC]

abstract parse_console_arguments(services: ServiceProviderABC, error: bool = None) bool

Reads the console arguments

Parameter:
error: bool

Defines is invalid argument error will be shown or not

Returns:

Bool to specify if executables were executed or not.

cpl_core.configuration.configuration_model_abc module

class cpl_core.configuration.configuration_model_abc.ConfigurationModelABC

Bases: ABC

from_dict(settings: dict)

DEPRECATED: Set attributes as typed arguments in __init__ instead. See <> for further information Converts attributes to dict

Parameter:

settings: dict

cpl_core.configuration.configuration_model_abc.base_func(method)

cpl_core.configuration.configuration_variable_name_enum module

class cpl_core.configuration.configuration_variable_name_enum.ConfigurationVariableNameEnum(value)

Bases: Enum

An enumeration.

customer = 'CUSTOMER'
environment = 'ENVIRONMENT'
name = 'NAME'
static to_list()

cpl_core.configuration.executable_argument module

class cpl_core.configuration.executable_argument.ExecutableArgument(token: str, name: str, aliases: list[str], executable: Type[ArgumentExecutableABC], prevent_next_executable: bool = False, validators: list[Type[cpl_core.configuration.validator_abc.ValidatorABC]] | None = None, console_arguments: list['ArgumentABC'] | None = None)

Bases: ArgumentABC

property executable_type: type
run(args: list[str])

Executes runnable if exists

set_executable(executable: ArgumentExecutableABC)
property validators: list[Type[cpl_core.configuration.validator_abc.ValidatorABC]]

cpl_core.configuration.flag_argument module

class cpl_core.configuration.flag_argument.FlagArgument(token: str, name: str, aliases: list[str], prevent_next_executable: bool = False, console_arguments: list['ArgumentABC'] | None = None)

Bases: ArgumentABC

cpl_core.configuration.validator_abc module

class cpl_core.configuration.validator_abc.ValidatorABC

Bases: ABC

abstract validate() bool

cpl_core.configuration.variable_argument module

class cpl_core.configuration.variable_argument.VariableArgument(token: str, name: str, aliases: list[str], value_token: str, prevent_next_executable: bool = False, console_arguments: list['ArgumentABC'] | None = None)

Bases: ArgumentABC

set_value(value: str)
property value: str
property value_token: str

Module contents

cpl-core CPL core

CPL core package

copyright:
  1. 2020 - 2023 sh-edraft.de

license:

MIT, see LICENSE for more details.

class cpl_core.configuration.VersionInfo(major, minor, micro)

Bases: tuple

major

Alias for field number 0

micro

Alias for field number 2

minor

Alias for field number 1