katana.units.gzip.gunzip — Extract GZIP Archive

GZIP file extraction

This unit works via the built-in Python library gzip, so there is no need for an external binary dependency.

The unit inherits from katana.unit.FileUnit to ensure the target is a GZIP file.

Note that GZIP files do not have support for passwords, so that is not implemented here.

class katana.units.gzip.gunzip.Unit(*args, **kwargs)

Bases: katana.unit.FileUnit

GROUPS = ['gzip', 'archive']

These are “tags” for a unit. Considering it is a GZIP unit, “gzip” is included, as well as the tag “archive”.

PRIORITY = 30

Priority works with 0 being the highest priority, and 100 being the lowest priority. 50 is the default priorty. This unit has a moderately high priority due to speed and broadness of applicability

RECURSE_SELF = True

This unit can recurse into itself because we can end up with nested GZIPS.

evaluate(case: str)

Evaluate the target. Extract the target with GZIP and recurse on any new found files.

Parameters:case – A case returned by enumerate. For this unit, the enumerate function is not used.
Returns:None. This function should not return any data.