pipe.generics.template

pipe.generics.template.transform

TTemplateResponseReady Objects

class TTemplateResponseReady(Step)

__init__

 | __init__(template_name='', **options)

Setting Jinja2 environment you can provide any options you can find in Jinja2 documentation. By default we setting only loader and autoescape, but you can rewrite it too.

pipe.generics.db

pipe.generics.db.orator_orm

pipe.generics.db.orator_orm.mixins

DatabaseBaseMixin Objects

class DatabaseBaseMixin()

Generic mixin for all Steps related to Database

set_table

 | set_table(table_name: str) -> QueryBuilder

Arguments:

  • table_name:

Returns:

Orator Query builder

set_select

 | set_select(select: t.Optional[tuple] = None) -> QueryBuilder

Sets columns for selecting. See Orator docs for detailed info

Arguments:

  • select:

Returns:

Orator Query builder

set_where

 | set_where(where: t.Optional[tuple] = None) -> QueryBuilder

Sets where clause. See Orator docs for detailed info

Arguments:

  • where:

Returns:

Orator Query builder

set_join

 | set_join(_join: t.Optional[tuple] = None) -> QueryBuilder

Sets join clause. See Orator docs for detailed info.

Arguments:

  • _join:

Returns:

Orator Query builder

create_connection

 | create_connection() -> None

Creates connection to database if it is None

clear_connection

 | clear_connection()

Clears connection

CreateUpdateMixin Objects

class CreateUpdateMixin()

insert

 | insert(data: t.Dict) -> int

Inserts data into a table

Arguments:

  • data:

Returns:

id of inserted string

update

 | update(data: t.Dict) -> int

Updates data in the table

Arguments:

  • data:

Returns:

query instance

ReadMixin Objects

class ReadMixin()

Small mixin which implements simplest 'select' operation for extracting. If this method does not fulfill all your requirements, you have to create your own extractor.

select

 | select(pk: t.Optional[int] = None) -> t.Union[t.Mapping, list]

Returns list of the objects from database or just one object, if 'pk' param is presented

Arguments:

  • pk:

DeleteMixin Objects

class DeleteMixin()

delete

 | delete(pk: t.Optional[int] = None) -> int

Deletes object by a 'pk' or by a where clause if presented

Arguments:

  • pk:

pipe.generics.db.orator_orm.load

LDBInsertUpdateBase Objects

class LDBInsertUpdateBase(Step,  DatabaseBaseMixin,  CreateUpdateMixin)

Loader for inserting or updating into database tables

Example:

LDatabase(data_field='json', table_name='todo-items')

LDatabaseDeleteBase Objects

class LDatabaseDeleteBase(Step,  DatabaseBaseMixin,  DeleteMixin)

Loader for deleting from database tables

Example:

LDatabase(table_name='todo-items')

pipe.generics.db.orator_orm.extract

EDBReadBase Objects

class EDBReadBase(Step,  DatabaseBaseMixin,  ReadMixin)

Base step for extracting data from database. Requires configuration for connecting to the database

Example:

@configure(DB_STEP_CONFIG)
class EDatabase(EDBReadBase):
pass

Usage example:

EDatabase(table_name='todo-items', where=('id', 1), join=('table_name', 'id', '<', 'some_id'))

pipe.generics.db.exceptions

pipe.generics.helpers

TPutDefaults Objects

@dataclass
class TPutDefaults(Step)

Helper transformers, which puts values from defaults into Store, to specific field_name

TLambda Objects

@dataclass
class TLambda(Step)

Step for small transformations of a store. Useful for cases where writing specific step is an overengineering