BaseMixed

class ase2sprkkr.common.grammar_types.BaseMixed(prefix=None, postfix=None, format='', default_value=None, condition=None, after_convert=None, description='')[source]

A variant type - it can hold “anything”.

Class hierarchy

Inheritance diagram of ase2sprkkr.common.grammar_types.BaseMixed

Constructor

Parameters
  • prefix (Optional[str]) –

  • postfix (Optional[str]) –

  • format (str) –

  • default_value (Any) –

  • condition (Optional[Callable[[Any], Union[bool, str]]]) –

  • after_convert (Optional[Callable[[Any], Any]]) –

__init__(prefix=None, postfix=None, format='', default_value=None, condition=None, after_convert=None, description='')

Create the object.

Parameters
  • prefix (Optional[str]) – The string, that will be printed before the value

  • postfix (Optional[str]) – The string, that will be printed after the value

  • format (str) – The (python) format string, that will be used for printing the value. The format is passed as format argument to str.format routine.

  • default_value (Optional[Any]) – The default value of the options of this type. None means no default value.

  • condition (Optional[Callable[[Any], Union[bool, str]]]) – Function, that check the validity of the value. It should return True for a valid value, and False or string for invalid. The string is interpreted as an error message that explains the invalidity of the value.

  • after_convert (Optional[Callable[[Any], Any]]) – Function, that - if it is given - is applied to the (entered or parsed) value. The function is applied on the result of the convert method

type = None

The types, that the value can hold. To be redefined in the descendants.

string_type = None

Type of string grammar_type to be used. To be redefined in the descendants.

_grammar(param_name=False)[source]
get_type(value)[source]

Return the type of the value. Actualy, this implementation is a simple implementation that suits for the common Mixed types, so if you make a custom Mixed type, redefine it.

_validate(value, why='set')[source]

Return error message if the value is not valid.

grammar_name()[source]

Human readable expression of the grammar. By default, this is what is set by grammar.setName, however, sometimes is desirable to set even shorter string

convert(value)[source]

Convert a value from user to the “cannonical form”