argsloader.units.common

IsUnit

class argsloader.units.common.IsUnit(target)[source]
Overview:

Unit for is calculation.

__init__(target)[source]

Constructor of IsUnit.

Parameters

target – Target for calculation.

is_

argsloader.units.common.is_(v)argsloader.units.common.IsUnit[source]
Overview:

Check if the given object is the same object as v.

Parameters

v – Unit or value to be checked.

Returns

A IsUnit object.

Examples::
>>> from argsloader.units import is_
>>> u = is_(1)
>>> u(1)  # 1 is 1, int is immutable in python
1
>>> u(2)  # 2 is 1
ValueParseError: Value expected to be 1(0x7fb7799546c0), but 2(0x7fb7799546e0) found.
>>> u(None)
ValueParseError: Value expected to be 1(0x7fb7799546c0), but None(0x7fb77990a110) found.

none

argsloader.units.common.none()[source]
Overview:

Check if the given value is none.

Examples::
>>> from argsloader.units import none
>>> u = none()
>>> u(None)  # None is None
>>> u(2)  # 2 is None
ValueParseError: Value expected to be None(0x7fb77990a110), but 2(0x7fb7799546e0) found.

YesNoUnit

class argsloader.units.common.YesNoUnit(yes='yes', no='no')[source]
Overview:

Unit for parsing yes or no option.

__init__(yes='yes', no='no')[source]

Constructor of YesNoUnit.

Parameters
  • yes – Yes string.

  • no – No string.

yesno

argsloader.units.common.yesno(yes='yes', no='no')argsloader.units.common.YesNoUnit[source]
Overview:

Parse yes-or-no option.

Parameters
  • yes – Yes string, default is yes.

  • no – No string, default is no.

Returns

A YesNoUnit object.

Examples::
  • Simple Usage

>>> from argsloader.units import yesno
>>> u = yesno()
>>> u('yes')
True
>>> u('no')
False
>>> u(True)
True
>>> u(False)
False
>>> u(1)
True
>>> u(0)
False
>>> u('xxx')
ValueParseError: Value expected to be 'yes' or 'no', but 'xxx' found.
  • Self-defined tags

>>> from argsloader.units import yesno
>>> u = yesno('Accept', 'Decline')
>>> u('accept')
True
>>> u('decline')
False
>>> u(True)
True
>>> u(False)
False
>>> u(1)
True
>>> u(0)
False
>>> u('yes')
ValueParseError: Value expected to be 'Accept' or 'Decline', but 'yes' found.

Note

If you need to parse from multiple pairs of yes and no tags, you can simply chain them together with | operator.

>>> from argsloader.units import yesno
>>> u = yesno() | yesno('Accept', 'Decline')
>>> u('yes')
True
>>> u('NO')
False
>>> u('accept')
True
>>> u('decline')
False
>>> u('xxx')
ValueParseError: Value expected to be 'yes' or 'no', but 'xxx' found.

onoff

argsloader.units.common.onoff()[source]
Overview:

Parse on-or-off option.

The same as yesno('on', 'off'), see yesno().