enrobie.robie.params package#

Submodules#

enrobie.robie.params.child module#

class enrobie.robie.params.child.RobieChildParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

enable

bool

No

False

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

enrobie.robie.params.client module#

class enrobie.robie.params.client.RobieClientParams[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

enable

bool

No

False

locate

str | None

No

None

min_length=1

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)])]#

enrobie.robie.params.common module#

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

Bases: BaseModel

Process and validate the Robie configuration parameters.

enrobie.robie.params.person module#

class enrobie.robie.params.person.RobiePersonMatchParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

client

str

Yes

min_length=1

match

list[str]

Yes

min_length=1

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)])]#
class enrobie.robie.params.person.RobiePersonParams[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

about

str | None

No

None

min_length=1

enable

bool

No

False

first

str | None

No

None

min_length=1

last

str | None

No

None

min_length=1

matches

list[RobiePersonMatchParams]

Yes

weight

int

No

50

ge=1, le=100

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)])]#
about: 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')]#
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#

class enrobie.robie.params.plugin.RobiePluginParams[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

enable

bool

No

False

locate

str | None

No

None

min_length=1

trusted

list[str] | None

No

None

min_length=1

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)])]#
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#

class enrobie.robie.params.robie.RobiePrinterParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

command

bool

No

False

message

bool

No

False

message: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the messages to console')]#
command: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the commands to console')]#
class enrobie.robie.params.robie.RobieParams[source]#

Bases: Params

Process and validate the core configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

clients

dict[str, RobieClientParams] | None

No

None

min_length=1

console

bool

No

False

database

str

No

'sqlite:///:memory:'

min_length=1

debug

bool

No

False

enconfig

ConfigParams | None

No

None

encrypts

CryptsParams | None

No

None

enlogger

LoggerParams | None

No

None

persons

dict[str, RobiePersonParams] | None

No

None

min_length=1

plugins

dict[str, RobiePluginParams] | None

No

None

min_length=1

printer

RobiePrinterParams

No

factory

service

RobieServiceParams

No

factory

database: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='sqlite:///:memory:', description='Database connection string', metadata=[MinLen(min_length=1)])]#
console: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Output console information; parameter is parsed by and used in low-level config')]#
debug: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Enable logging level debug; parameter is parsed by and used in low-level config')]#
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')]#
clients: Annotated[dict[str, RobieClientParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie clients', 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)])]#
persons: Annotated[dict[str, RobiePersonParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie persons', metadata=[MinLen(min_length=1)])]#

enrobie.robie.params.service module#

class enrobie.robie.params.service.RobieServiceRespiteParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

health

int

No

3

ge=1, le=15

health: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=3, description='How often health is checked', metadata=[Ge(ge=1), Le(le=15)])]#
class enrobie.robie.params.service.RobieServiceParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

respite

RobieServiceRespiteParams

No

factory

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

Module contents#

class enrobie.robie.params.RobieParams[source]#

Bases: Params

Process and validate the core configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

clients

dict[str, RobieClientParams] | None

No

None

min_length=1

console

bool

No

False

database

str

No

'sqlite:///:memory:'

min_length=1

debug

bool

No

False

enconfig

ConfigParams | None

No

None

encrypts

CryptsParams | None

No

None

enlogger

LoggerParams | None

No

None

persons

dict[str, RobiePersonParams] | None

No

None

min_length=1

plugins

dict[str, RobiePluginParams] | None

No

None

min_length=1

printer

RobiePrinterParams

No

factory

service

RobieServiceParams

No

factory

database: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='sqlite:///:memory:', description='Database connection string', metadata=[MinLen(min_length=1)])]#
console: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Output console information; parameter is parsed by and used in low-level config')]#
debug: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Enable logging level debug; parameter is parsed by and used in low-level config')]#
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')]#
clients: Annotated[dict[str, RobieClientParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie clients', 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)])]#
persons: Annotated[dict[str, RobiePersonParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie persons', metadata=[MinLen(min_length=1)])]#
class enrobie.robie.params.RobieParamsModel[source]#

Bases: BaseModel

Process and validate the Robie configuration parameters.

class enrobie.robie.params.RobiePrinterParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

command

bool

No

False

message

bool

No

False

message: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the messages to console')]#
command: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the commands to console')]#
class enrobie.robie.params.RobieChildParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

enable

bool

No

False

enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Determine whether child enabled')]#
class enrobie.robie.params.RobiePluginParams[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

enable

bool

No

False

locate

str | None

No

None

min_length=1

trusted

list[str] | None

No

None

min_length=1

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)])]#
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.RobieClientParams[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

enable

bool

No

False

locate

str | None

No

None

min_length=1

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)])]#
class enrobie.robie.params.RobiePersonParams[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

Constraints

about

str | None

No

None

min_length=1

enable

bool

No

False

first

str | None

No

None

min_length=1

last

str | None

No

None

min_length=1

matches

list[RobiePersonMatchParams]

Yes

weight

int

No

50

ge=1, le=100

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)])]#
about: 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')]#
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.RobieServiceParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Fields#

Field

Type

Required

Default

respite

RobieServiceRespiteParams

No

factory

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