evargs package

EvArgs’s Module Index

validator module

class Validator

Bases: object

validate_size(name, v, size)
Parameters
  • name (str) –

  • v (str) –

  • size (int) –

validate_between(name, v, min_size, max_size)
Parameters
  • name (str) –

  • v (str) –

  • min_size (int) –

  • max_size (int) –

validate_alphabet(name, v)
Parameters
  • name (str) –

  • v (str) –

validate_alphanumeric(name, v)
Parameters
  • name (str) –

  • v (str) –

validate_ascii(name, v)
Parameters
  • name (str) –

  • v (str) –

validate_printable_ascii(name, v)
Parameters
  • name (str) –

  • v (str) –

validate_standard_ascii(name, v)
Parameters
  • name (str) –

  • v (str) –

validate_char_numeric(name, v)
Parameters
  • name (str) –

  • v (str) –

validate_regex(name, v, regex, *args)
Parameters
  • name (str) –

  • v (any) –

  • regex (str) –

validate_range(name, v, min_v, max_v)
Parameters
  • name (str) –

  • v (any) –

validate_unsigned(name, v)
Parameters
  • name (str) –

  • v (any) –

validate_even(name, v)
Parameters
  • name (str) –

  • v (any) –

validate_odd(name, v)
Parameters
  • name (str) –

  • v (any) –

raise_error(msg, code=2)

The example is here.

self.validator.validate_size('var1', 'abc', 3)

self.validator.validate_between('var1', 'abc', 1, 10)

self.validator.validate_printable_ascii('var1', 'abc123ñ')

self.validator.validate_regex('test1', 'var1', r'^[a-z0-9]+$')
self.validator.validate_regex('dna', 'ATGCGTACGTAGCTAGCTAGCTAGCATCGTAGCTAGCTAGC', r'^[ATGC]+$')

self.validator.validate_unsigned('var1', 123)
self.validator.validate_range('var1', 5, 1, 10)

value_caster module

class ValueCaster

Bases: object

classmethod to_int(v, ignore_error=False)
Return type

int

Parameters
  • v (any) –

  • ignore_error (bool) –

classmethod to_float(v, ignore_error=False)
Return type

float

Parameters
  • v (any) –

  • ignore_error (bool) –

classmethod to_complex(v, ignore_error=False)
Return type

complex

Parameters
  • v (any) –

  • ignore_error (bool) –

classmethod to_bool(v, strict=False)
Return type

Optional[bool]

Parameters
  • v (any) –

  • strict (bool) –

classmethod bool_strict(v)
Return type

int

Parameters

v (any) –

classmethod to_enum(enum_class, v, illegal_value=None, is_value=True, is_name=False)
Return type

Enum

Parameters
  • enum_class (Type[enum.Enum]) –

  • v (any) –

  • illegal_value (Optional[enum.Enum]) –

  • is_value (bool) –

  • is_name (bool) –

classmethod to_enum_loose(enum_class, v, illegal_value=None, is_value=True, is_name=False)
Return type

Enum

Parameters
  • enum_class (Type[enum.Enum]) –

  • v (any) –

  • illegal_value (Optional[enum.Enum]) –

  • is_value (bool) –

  • is_name (bool) –

The example is here.

ValueCaster.to_int(' 1 ')
ValueCaster.to_int(' aaa ', ignore_error=True)

ValueCaster.to_float(' aaa ')
ValueCaster.to_float(' aaa ', ignore_error=True)

ValueCaster.to_bool('1')
ValueCaster.to_bool('1', True)

ValueCaster.to_enum(Color, 1)
ValueCaster.to_enum(Color, 'RED', is_name=True)

ValueCaster.to_enum_loose(Color, 1)
ValueCaster.to_enum_loose(Color, '3.5')
ValueCaster.to_enum_loose(Color, 'BLUE', is_name=True, is_value=False)

ValueCaster.to_enum(Color, 'AAA', illegal_value=Color.WHITE)

help_formatter module

class HelpFormatter

Bases: evargs.list_formatter.ListFormatter

DEFAULT_COLUMNS = {'default': 'Default', 'help': 'Description', 'name': 'Parameter', 'require': 'Require', 'type': 'Type', 'validation': 'Validation'}
enable_example(label=None)
Parameters

label (Optional[str]) –

class ListFormatter

Bases: object

set_columns(columns)
Parameters

columns (dict) –

set_column(name, value)
Parameters
  • name (str) –

  • value (any) –

set_column_max_size(v)
Parameters

v (int) –

make(rows, params=None, skip_headers=False)
Return type

str

Parameters
  • rows (Union[list, dict]) –

  • params (Optional[list]) –

  • skip_headers (bool) –

ListFormatter class can also be used independently to adjust and display dict and list data. The example is here.

# python3 show_list_data.py

 Compound Name  | Elements                                           | Molecular Formula | Melting Point | Uses
--------------------------------------------------------------------------------------------------------------------------
 Aspirin        | Carbon (C), Hydrogen (H), Oxygen (O)               | C9H8O4            | 135°C         | Pain reliever
 Glucose        | Carbon (C), Hydrogen (H), Oxygen (O)               | C6H12O6           | 146°C         | Energy source
 Acetaminophen  | Carbon (C), Hydrogen (H), Nitrogen (N), Oxygen (O) | C8H9NO            | 169-172°C     | Pain reliever
 Niacin         | Carbon (C), Hydrogen (H), Nitrogen (N)             | C6H5NO2           | 234-236°C     | Nutrient
 Salicylic Acid | Carbon (C), Hydrogen (H), Oxygen (O)               | C7H6O3            | 158-160°C     | Preservative