flexget.utils.qualities module#

class flexget.utils.qualities.Quality(text='')[source]#

Bases: Serializer

Parses and stores the quality of an entry in the four component categories.

Parameters:

text (str)

classmethod deserialize(data, version)[source]#

Return an instance of the original class, recreated from the serialized form.

Parameters:
Return type:

Quality

classmethod serialize(quality)[source]#

Return a plain python datatype which is json serializable.

Parameters:

quality (Quality)

Return type:

str

_find_best(qlist, default, strip_all=True)[source]#

Find the highest matching quality component from qlist.

Parameters:
Return type:

QualityComponent

parse(text)[source]#

Parse a string to determine the quality in the four component categories.

Parameters:

text (str) – The string to parse

Return type:

None

_abc_impl = <_abc._abc_data object>#
property _comparator: list#
property components: list[QualityComponent]#
property name: str#
class flexget.utils.qualities.QualityComponent(type, value, name, regexp=None, modifier=None, defaults=None)[source]#

Bases: object

Parameters:
matches(text)[source]#

Test if quality matches to text.

Parameters:

text (string) – data to be tested against

Returns:

tuple (matches, remaining text without quality data)

Return type:

tuple[bool, str]

class flexget.utils.qualities.RequirementComponent(type)[source]#

Bases: object

Represent requirements for a given component type.

Can evaluate whether a given QualityComponent meets those requirements.

Parameters:

type (str)

add_requirement(text)[source]#
Parameters:

text (str)

Return type:

None

allows(comp, loose=False)[source]#
Parameters:
Return type:

bool

reset()[source]#
Return type:

None

acceptable: set[QualityComponent]#
max: QualityComponent | None#
min: QualityComponent | None#
none_of: set[QualityComponent]#
class flexget.utils.qualities.Requirements(req='')[source]#

Bases: object

Represents requirements for allowable qualities. Can determine whether a given Quality passes requirements.

Parameters:

req (str)

allows(qual, loose=False)[source]#

Determine whether this set of requirements allows a given quality.

Parameters:
  • qual (Quality) – The quality to evaluate.

  • loose (bool) – If True, only ! (not) requirements will be enforced.

Return type:

bool

Returns:

True if given quality passes all component requirements.

parse_requirements(text)[source]#

Parse a requirements string.

Parameters:

text (str) – The string containing quality requirements.

Return type:

None

property components: list[RequirementComponent]#
flexget.utils.qualities.all_components()[source]#
Return type:

Iterator[QualityComponent]

flexget.utils.qualities.get(quality_name)[source]#

Return a quality object based on canonical quality name.

Parameters:

quality_name (str)

Return type:

Quality