Prefixed

class ase2sprkkr.potentials.test.grammar_types.data.Prefixed(data_prefix, allow_empty=True, prefix=None, postfix=None, format='', after_format=None, default_value=None, condition=None, after_convert=None, description='')[source]

This value consists from a few lines, each prefixed with a given prefix

Class hierarchy

Inheritance diagram of ase2sprkkr.potentials.test.grammar_types.data.Prefixed

Constructor

Parameters:
  • prefix (str | None)

  • postfix (str | None)

  • format (str)

  • after_format (str | None)

  • default_value (Any)

  • condition (Callable[[Any], bool | str] | None)

  • after_convert (Callable[[Any], Any] | None)

__init__(data_prefix, allow_empty=True, prefix=None, postfix=None, format='', after_format=None, default_value=None, condition=None, after_convert=None, description='')[source]

Create the object.

Parameters:
  • prefix (str | None) – The string, that will be printed before the value

  • postfix (str | None) – The string, that will be printed after the value

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

  • after_format (str | None) – In some cases, the additional formating is required after converting to the string and adding postfix/prefix.

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

  • condition (Callable[[Any], bool | str] | None) – 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 (Callable[[Any], Any] | None) – 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

property _grammar
_string(value)[source]

Convert the value to the ouput.

The string() apply format and do some additional transformation (add prefix, postfix etc.), so the actual way how to convert the value for the output should be here.