enrobie.robie.params package#

Submodules#

enrobie.robie.params.child module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enrobie.robie.params.child.RobieChildParams(_parse: Callable[[...], Any] | None = None, *, enable: bool = False)[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Determine whether child enabled')]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

enrobie.robie.params.client module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enrobie.robie.params.client.RobieClientParams(_parse: Callable[[...], Any] | None = None, *, enable: bool = False, locate: Annotated[str | None, MinLen(min_length=1)] = None)[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

locate: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='For which client are parameters', examples=['enrobie.clients.DSCClient', 'enrobie.clients.IRCClient', 'enrobie.clients.MTMClient'], metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

enrobie.robie.params.common module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enrobie.robie.params.common.RobieParamsModel[source]#

Bases: BaseModel

Process and validate the Robie configuration parameters.

model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

enrobie.robie.params.person module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enrobie.robie.params.person.RobiePersonMatchParams(*, client: Annotated[str, MinLen(min_length=1)], match: Annotated[list[str], MinLen(min_length=1)])[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

client: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Client where the user exists', metadata=[MinLen(min_length=1)])]#
match: Annotated[list[str], FieldInfo(annotation=NoneType, required=True, description='Values client uses to identify', metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class enrobie.robie.params.person.RobiePersonParams(_parse: Callable[[...], Any] | None = None, *, enable: bool = False, first: Annotated[str | None, MinLen(min_length=1)] = None, last: Annotated[str | None, MinLen(min_length=1)] = None, about: Annotated[str | None, MinLen(min_length=1)] = None, matches: list[RobiePersonMatchParams], weight: Annotated[int, Ge(ge=1), Le(le=100)] = 50)[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

about: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Additional optional information', metadata=[MinLen(min_length=1)])]#
first: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Additional optional information', metadata=[MinLen(min_length=1)])]#
last: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Additional optional information', metadata=[MinLen(min_length=1)])]#
matches: Annotated[list[RobiePersonMatchParams], FieldInfo(annotation=NoneType, required=True, description='How the user will be identified')]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

weight: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=50, description='Determine order of precedence', metadata=[Ge(ge=1), Le(le=100)])]#

enrobie.robie.params.plugin module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enrobie.robie.params.plugin.RobiePluginParams(_parse: Callable[[...], Any] | None = None, *, enable: bool = False, locate: Annotated[str | None, MinLen(min_length=1)] = None, trusted: Annotated[list[str] | None, MinLen(min_length=1)] = None)[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

locate: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='For which plugin are parameters', examples=['enrobie.plugins.AinswerPlugin', 'enrobie.plugins.AutoJoinPlugin', 'enrobie.plugins.AutoNickPlugin', 'enrobie.plugins.StatusPlugin'], metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

trusted: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Users are trusted by the plugin', metadata=[MinLen(min_length=1)])]#

enrobie.robie.params.robie module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enrobie.robie.params.robie.RobieParams(_parse: ~typing.Callable[[...], ~typing.Any] | None = None, *, enconfig: ~encommon.config.params.ConfigParams | None = None, enlogger: ~encommon.config.params.LoggerParams | None = None, encrypts: ~encommon.crypts.params.CryptsParams | None = None, database: ~typing.Annotated[str, ~annotated_types.MinLen(min_length=1)] = 'sqlite:///:memory:', printer: ~enrobie.robie.params.robie.RobiePrinterParams = <factory>, service: ~enrobie.robie.params.service.RobieServiceParams = <factory>, clients: ~typing.Annotated[dict[str, ~enrobie.robie.params.client.RobieClientParams] | None, ~annotated_types.MinLen(min_length=1)] = None, plugins: ~typing.Annotated[dict[str, ~enrobie.robie.params.plugin.RobiePluginParams] | None, ~annotated_types.MinLen(min_length=1)] = None, persons: ~typing.Annotated[dict[str, ~enrobie.robie.params.person.RobiePersonParams] | None, ~annotated_types.MinLen(min_length=1)] = None)[source]#

Bases: Params

Process and validate the core configuration parameters.

clients: Annotated[dict[str, RobieClientParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie clients', metadata=[MinLen(min_length=1)])]#
database: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='sqlite:///:memory:', description='Database connection string', metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

persons: Annotated[dict[str, RobiePersonParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie persons', metadata=[MinLen(min_length=1)])]#
plugins: Annotated[dict[str, RobiePluginParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie plugins', metadata=[MinLen(min_length=1)])]#
printer: Annotated[RobiePrinterParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobiePrinterParams, description='Print messages to console')]#
service: Annotated[RobieServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobieServiceParams, description='Parameters for Robie Service')]#
class enrobie.robie.params.robie.RobiePrinterParams(*, message: bool = False, command: bool = False)[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

command: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the commands to console')]#
message: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the messages to console')]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

enrobie.robie.params.service module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enrobie.robie.params.service.RobieServiceParams(*, respite: RobieServiceRespiteParams = <factory>)[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

respite: Annotated[RobieServiceRespiteParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobieServiceRespiteParams, description='When operates are performed')]#
class enrobie.robie.params.service.RobieServiceRespiteParams(*, health: Annotated[int, Ge(ge=1), Le(le=15)] = 3)[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

health: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=3, description='How often health is checked', metadata=[Ge(ge=1), Le(le=15)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

Module contents#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class enrobie.robie.params.RobieChildParams(_parse: Callable[[...], Any] | None = None, *, enable: bool = False)[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Determine whether child enabled')]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class enrobie.robie.params.RobieClientParams(_parse: Callable[[...], Any] | None = None, *, enable: bool = False, locate: Annotated[str | None, MinLen(min_length=1)] = None)[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

locate: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='For which client are parameters', examples=['enrobie.clients.DSCClient', 'enrobie.clients.IRCClient', 'enrobie.clients.MTMClient'], metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class enrobie.robie.params.RobieParams(_parse: ~typing.Callable[[...], ~typing.Any] | None = None, *, enconfig: ~encommon.config.params.ConfigParams | None = None, enlogger: ~encommon.config.params.LoggerParams | None = None, encrypts: ~encommon.crypts.params.CryptsParams | None = None, database: ~typing.Annotated[str, ~annotated_types.MinLen(min_length=1)] = 'sqlite:///:memory:', printer: ~enrobie.robie.params.robie.RobiePrinterParams = <factory>, service: ~enrobie.robie.params.service.RobieServiceParams = <factory>, clients: ~typing.Annotated[dict[str, ~enrobie.robie.params.client.RobieClientParams] | None, ~annotated_types.MinLen(min_length=1)] = None, plugins: ~typing.Annotated[dict[str, ~enrobie.robie.params.plugin.RobiePluginParams] | None, ~annotated_types.MinLen(min_length=1)] = None, persons: ~typing.Annotated[dict[str, ~enrobie.robie.params.person.RobiePersonParams] | None, ~annotated_types.MinLen(min_length=1)] = None)[source]#

Bases: Params

Process and validate the core configuration parameters.

clients: Annotated[dict[str, RobieClientParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie clients', metadata=[MinLen(min_length=1)])]#
database: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='sqlite:///:memory:', description='Database connection string', metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

persons: Annotated[dict[str, RobiePersonParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie persons', metadata=[MinLen(min_length=1)])]#
plugins: Annotated[dict[str, RobiePluginParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie plugins', metadata=[MinLen(min_length=1)])]#
printer: Annotated[RobiePrinterParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobiePrinterParams, description='Print messages to console')]#
service: Annotated[RobieServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobieServiceParams, description='Parameters for Robie Service')]#
class enrobie.robie.params.RobieParamsModel[source]#

Bases: BaseModel

Process and validate the Robie configuration parameters.

model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class enrobie.robie.params.RobiePersonParams(_parse: Callable[[...], Any] | None = None, *, enable: bool = False, first: Annotated[str | None, MinLen(min_length=1)] = None, last: Annotated[str | None, MinLen(min_length=1)] = None, about: Annotated[str | None, MinLen(min_length=1)] = None, matches: list[RobiePersonMatchParams], weight: Annotated[int, Ge(ge=1), Le(le=100)] = 50)[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

about: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Additional optional information', metadata=[MinLen(min_length=1)])]#
first: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Additional optional information', metadata=[MinLen(min_length=1)])]#
last: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Additional optional information', metadata=[MinLen(min_length=1)])]#
matches: Annotated[list[RobiePersonMatchParams], FieldInfo(annotation=NoneType, required=True, description='How the user will be identified')]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

weight: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=50, description='Determine order of precedence', metadata=[Ge(ge=1), Le(le=100)])]#
class enrobie.robie.params.RobiePluginParams(_parse: Callable[[...], Any] | None = None, *, enable: bool = False, locate: Annotated[str | None, MinLen(min_length=1)] = None, trusted: Annotated[list[str] | None, MinLen(min_length=1)] = None)[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

locate: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='For which plugin are parameters', examples=['enrobie.plugins.AinswerPlugin', 'enrobie.plugins.AutoJoinPlugin', 'enrobie.plugins.AutoNickPlugin', 'enrobie.plugins.StatusPlugin'], metadata=[MinLen(min_length=1)])]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

trusted: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Users are trusted by the plugin', metadata=[MinLen(min_length=1)])]#
class enrobie.robie.params.RobiePrinterParams(*, message: bool = False, command: bool = False)[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

command: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the commands to console')]#
message: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the messages to console')]#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class enrobie.robie.params.RobieServiceParams(*, respite: RobieServiceRespiteParams = <factory>)[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

respite: Annotated[RobieServiceRespiteParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobieServiceRespiteParams, description='When operates are performed')]#