18.1.1.1. AcquisitionStep

class acquisition.AcquisitionStep[source]

Bases: object

Abstract class to describe an acquisition step.

You have to override this class.

Variables

Attributes Summary

args

debug_mode_allowed

failure_policy

failure_policy_move_dest_dir

failure_policy_move_keep_tags

failure_policy_move_keep_tags_suffix

plugin_name

Return the name of the plugin.

step_limit

step_name

Get the name of the step.

stop_flag

unit_tests

unit_tests_args

Methods Summary

add_extra_arguments(parser)

Add some extra argument to commande line parsing.

after(status)

Method called after the process execution.

copy_to_plugin_step(xaf, plugin_name, step_name)

Copy a XattrFile (with tags) to another plugin/step.

critical(msg, *args, **kwargs)

Log a critical message.

debug(msg, *args, **kwargs)

Log a debug message.

destroy()

Destroy what you want just before exiting.

error(msg, *args, **kwargs)

Log an error message.

error_and_die(msg, *args, **kwargs)

Log an error message and exit immediatly.

exception(msg, *args, **kwargs)

Log an error message with current exception stacktrace.

get_original_basename(xaf)

Return the original basename of the file.

get_original_dirname(xaf)

Return the original dirname of the file.

get_original_uid(xaf)

Return the original uid of the file.

get_plugin_directory_path()

Return the plugin directory (fullpath).

get_stats_client([extra_tags])

get_tag(xaf, name[, not_found_value, …])

Read a tag on a file with good prefixes.

get_tmp_filepath()

Get a full temporary filepath (including unique filename).

info(msg, *args, **kwargs)

Log an info message.

init()

Method called after CLI parsing but before processing any files.

move_to_plugin_step(xaf, plugin_name, step_name)

Move a XattrFile to another plugin/step.

ping()

Do something every second if possible.

process(xaf)

Process one file.

run()

set_tag(xaf, name, value[, add_latest])

Set a tag on a file with good prefixes.

warning(msg, *args, **kwargs)

Log a warning message.

Attributes Documentation

args = None
debug_mode_allowed = True
failure_policy = None
failure_policy_move_dest_dir = None
failure_policy_move_keep_tags = True
failure_policy_move_keep_tags_suffix = None
plugin_name

Return the name of the plugin.

This method is called if there is no “step_name” property defined. This said property MUST be defined. The name must match with ^[A-Za-z0-9_]+$ regexp.

Returns

(string) the name of the plugin.

step_limit = 1000
step_name

Get the name of the step.

This method is called if there is no “step_name” property defined. This said property SHOULD be defined. The name must match with ^[A-Za-z0-9_]+$ regexp.

Returns

(string) the name of the step.

stop_flag = False
unit_tests = False
unit_tests_args = None

Methods Documentation

add_extra_arguments(parser)[source]

Add some extra argument to commande line parsing.

If you have to add some, you have to override this method.

Parameters

parser – an ArgumentParser object (with default options added).

after(status)[source]

Method called after the process execution.

It’s called event in case of exceptions during process.

copy_to_plugin_step(xaf, plugin_name, step_name)[source]

Copy a XattrFile (with tags) to another plugin/step.

Parameters
  • xaf (XattrFile) – XattrFile to move

  • plugin_name (string) – plugin name

  • step_name (string) – step name

Returns

True if ok

Return type

boolean

critical(msg, *args, **kwargs)[source]

Log a critical message.

debug(msg, *args, **kwargs)[source]

Log a debug message.

destroy()[source]

Destroy what you want just before exiting.

No file will be processed after calling this method.

error(msg, *args, **kwargs)[source]

Log an error message.

error_and_die(msg, *args, **kwargs)[source]

Log an error message and exit immediatly.

exception(msg, *args, **kwargs)[source]

Log an error message with current exception stacktrace.

This method should only be called from an exception handler.

get_original_basename(xaf)[source]

Return the original basename of the file.

The original basename is the not modified basename before step0 execution. “unknown” is returned if we can’t find the basename.

Parameters

xaf (XattrFile) – file to consider.

Returns

original basename.

Return type

string

get_original_dirname(xaf)[source]

Return the original dirname of the file.

The original dirname is the not modified basename before step0 execution. “unknown” is returned if we can’t find the dirname.

Parameters

xaf (XattrFile) – file to consider.

Returns

original dirname.

Return type

string

get_original_uid(xaf)[source]

Return the original uid of the file.

The original uid is the first unique id given before step0 execution. “unknown” is returned if we can’t find the original uid.

Parameters

xaf (XattrFile) – file to consider.

Returns

original uid.

Return type

string

get_plugin_directory_path()[source]

Return the plugin directory (fullpath).

Returns

(string) the fullpath of the plugin directory.

get_stats_client(extra_tags={})[source]
get_tag(xaf, name, not_found_value=None, counter_str_value='latest', force_step_name=None, force_plugin_name=None)[source]

Read a tag on a file with good prefixes.

Parameters
  • xaf (XattrFile) – file to read.

  • name (string) – name of the tag (without prefixes).

  • not_found_value – returned value if the tag is not found.

  • counter_str_value (string) – counter string value.

  • force_step_name – tagger step name (if None, current step name is taken)

  • force_plugin_name – tagger plugin name (if None, current plugin name is taken)

get_tmp_filepath()[source]

Get a full temporary filepath (including unique filename).

Returns

(string) full temporary filepath (including unique filename).

info(msg, *args, **kwargs)[source]

Log an info message.

init()[source]

Method called after CLI parsing but before processing any files.

move_to_plugin_step(xaf, plugin_name, step_name)[source]

Move a XattrFile to another plugin/step.

Parameters
  • xaf (XattrFile) – XattrFile to move

  • plugin_name (string) – plugin name

  • step_name (string) – step name

Returns

True if ok

Return type

boolean

ping()[source]

Do something every second if possible.

The call can be blocked by a long running process() call.

process(xaf)[source]

Process one file.

Process one XattrFile. You have to override this method (unless your class inherits from BatchStep, see batch_process() in that case).

The file is moved into a temporary directory before the call with an unique filename. Extended attributes are copied to it. So you can do what you want with it.

If the method returns True:

  • we considerer that the processing is ok

  • the file is delete if necessary

If the method doesn’t return True:

  • we considerer that the processing is not ok (a warning message is

    logged).

  • the file is given to the choosen failure policy.

Parameters

xaf – XattrFile object.

Returns

processing status (True: ok, False: not ok)

Return type

boolean

run()[source]
set_tag(xaf, name, value, add_latest=True)[source]

Set a tag on a file with good prefixes.

Parameters
  • xaf (XattrFile) – file to add/set tag on.

  • name (string) – name of the tag (without prefixes)

  • value (string) – value of the tag

  • add_latest (boolean) – add latest prefix

warning(msg, *args, **kwargs)[source]

Log a warning message.