Input Reference

The inputs Module

A collection of input stream and input rules.

class ciowarehouse.inputs.InputStream(get_warehouse)[source]

Base class to manage input stream.

Parameters:

get_warehouse – Function to retrieve a warehouse.

documents(build, dbstream)[source]

Retrieve documents.

Parameters:
  • build (cioservice.lib.build.Build) – Current build object.

  • dbsteam (.models.dbinput.DBInputStream) – SqlAlchemy object to build this input stream.

Return type:

list

archive(build, dbstream)[source]

Return the warehouse object for archive and the absolute path to the archive directory.

Parameters:
  • build (cioservice.lib.build.Build) – Current build object.

  • dbsteam (.models.dbinput.DBInputStream) – SqlAlchemy object to build this input stream.

Return type:

tuple

Returns:

A tuple such as (archive_warehouse, archive_dir).

classmethod archive_files(build, dbstream, archive, input_dir, archive_dir)[source]

Save a copy of input_dir into archive_dir, add archive_dir to the repository, commit the action and refresh the warehouse.

Parameters:
  • build (cioservice.lib.build.Build) – Current build object.

  • dbsteam (.models.dbinput.DBInputStream) – SqlAlchemy object to build this input stream.

  • input_dir (str) – Absolute path to the directory to copy.

  • archive (ciowarehouse.lib.warehouse.Warehouse) – Warehouse object for archive.

  • archive_dir (str) – Absolute path to the directory for these files in the archives.

classmethod archive_clean(build, dbstream, archive)[source]

Loop over archives and remove old ones.

Parameters:
  • build (cioservice.lib.build.Build) – Current build object.

  • dbsteam (.models.dbinput.DBInputStream) – SqlAlchemy object to build this input stream.

  • archive (ciowarehouse.lib.warehouse.Warehouse) – Warehouse object for archive.

classmethod empty_warehouse_directory(build, dbstream, warehouse, directory)[source]

Empty a directory.

Parameters:
  • build (cioservice.lib.build.Build) – Current build object.

  • dbsteam (.models.dbinput.DBInputStream) – SqlAlchemy object to build this input stream.

  • warehouse (ciowarehouse.lib.warehouse.Warehouse) – Object for the warehouse containing the directory.

  • directory (str) – Absolute path to the directory.

The inputs.stream_file Module

Class for file input stream.

class ciowarehouse.inputs.stream_file.InputStreamFile(get_warehouse)[source]

Class to manage file input stream.

See: inputs.InputStream

documents(build, dbstream)[source]

Retrieve documents.

See: inputs.InputStream.documents()

The inputs.stream_ftp Module

Class for FTP input stream.

class ciowarehouse.inputs.stream_ftp.InputStreamFtp(get_warehouse)[source]

Class to manage FTP input stream.

See: inputs.InputStream

documents(build, dbstream)[source]

Retrieve documents.

See: inputs.InputStream.documents()

The inputs.stream_email Module

Class for email input stream.

class ciowarehouse.inputs.stream_email.InputStreamEmail(get_warehouse)[source]

Class to manage email input stream.

See: inputs.InputStream

documents(build, dbstream)[source]

Retrieve documents.

See: inputs.InputStream.documents()

The inputs.rule_basic Module

Class for basic input rule.

class ciowarehouse.inputs.rule_basic.InputRuleBasic(get_warehouse, dbrule)[source]

Class to manage basic input rule.

Parameters:
  • get_warehouse – Function to retrieve a warehouse.

  • dbrule (.models.dbinput.DBInputRule) – SqlAlchemy object to build this rule.

self.conditions is a list of conditions. Each condition is a tuple such as (key, value_regex).

apply(build, document)[source]

Check if the document matches with this rule and possibly send the document to its destination.

Parameters:
  • build (cioservice.lib.build.Build) – Current build object.

  • document (dict) – Current document.

Return type:

bool

document2destination(build, values, document, warehouse, path)[source]

Copy the document into the destination warehouse.

Parameters:
  • build (cioservice.lib.build.Build) – Current build object.

  • values (dict) – Values of the variables.

  • document (dict) – Current document.

  • warehouse (ciowarehouse.lib.warehouse.Warehouse) – Object for destination warehouse.

  • path (str) – Path of the document inside the warehouse.

Return type:

bool