RealItemDefinition
- class ase2sprkkr.common.configuration_definitions.RealItemDefinition(name, written_name=None, alternative_names=None, is_optional=False, is_hidden=False, is_expert=False, name_in_grammar=None, name_format=None, info=None, description=None, write_alternative_name=False, name_regex=None, condition=None, write_condition=None, result_class=None, warning_condition=None)[source]
A base class for a configuration definition, either of an option, or of a container. The definition determine the type of value(s) in the configuration/problem-definition file, the format of the values, the way how it/they is/are read etc…
Class hierarchy
Constructor
- Parameters:
write_alternative_name (bool)
- __init__(name, written_name=None, alternative_names=None, is_optional=False, is_hidden=False, is_expert=False, name_in_grammar=None, name_format=None, info=None, description=None, write_alternative_name=False, name_regex=None, condition=None, write_condition=None, result_class=None, warning_condition=None)[source]
- Parameters:
name (str) – Name of the value/section
written_name (str or None) – Name to write to the input file. Default None means use the name.
alternative_names (str or [str]) – Alternative names that can denotes the value. If no written_name is given, the first alternative_names is used for the output. However, contrary to written_name, such way still allow to parse the name during parsing as the name of the value.
is_optional (boolean) – If True, this section/value can be missing in the .pot/task file
is_hidden (boolean) – Hidden values are not offered to a user, usually they are set by another object (and so a direct setting of their values has no sense)
is_expert (boolean) – Expert values/sections are not required and they are somewhat hidden from the user
name_in_grammar (boolean or None) – If False, there the name of the variable is not printed in the configuration file. The variable is recognized by its position. If None, the default class value is used
name_format (str or None) – The way how the name is written
info (str) – A short help message for the value/section. It will be the perex for description.
description (str) – The additional informations for the users.
write_alternative_name (bool) – Wheter use the name or the (first) alternative name in the output.
write_condition – If defined, write the value, only if write_condition(the option) is True.
condition –
- If defined, the condition
the condition.parse_condition() is invoked, when a given grammar element should be parsed. If it is False, the element is skipped
the condition() is invoked, when the elements of the container is listed to hide the inactive members
result_class – Redefine the class that holds data for this option/section.
warning_condition – If this lambda returns a non-none during validation, a warning will be issued.
- info_in_data_description = False
- written_name
The name of the option/section
- name_regex
Alternative names of the option/section. The option/section can be “denoted” in the configuration file by either by its name or any of the alternative names.
- name_in_grammar = True
Is the name of the value/section present in the file?
When False, the option/section name is not written to the file at all. The value(s) of the option/section is/are then expected to be located in the file just after the previous one.
By default, all options and sections… are named (in the configuration file). However, the attribute can be redefined in instantiated objects and/or descendant classes to change the behavior.
- _info
A short help text describing the content for the users.
- _description
A longer help text describing the content for the users.
- result_class = None
Parsing of the data results in an instance of this class. To be redefined in descendants.
- property formated_name
- property is_independent_on_the_predecessor
Some value have to be positioned just after their predecessor in the output.
- info(generic=True)[source]
Return short help string.
- Parameters:
generic (bool) – If the definition has no help specified and generic is True, return a (not saying much) generic help string
- Return type:
str
- _description_indentation = ' '
Nested levels of description will be indented using this ‘prefix’
- description(verbose=True, show_hidden=False, prefix='')[source]
- Parameters:
verbose (bool) – If true, add also detailed documentation of all included items (e.g. members of a container)
show_hidden (bool) – If
False
(default), do not show descriptions of hidden members.prefix (str) – The string, with with each line will begin (commonly the spaces for the indentation).
- _tuple_with_my_name(expr, delimiter=None, has_value=True, name_in_grammar=None)[source]
Create the grammar returning tuple (self.name, <result of the expr>)
- Parameters:
expr – Pyparsing expresion for the value of the option/section
delimiter – Pyparsing expression for the name-value delimiter
has_value (bool) – If False, do not add the parsed value to the results. This can be used e.g. for separators (see
ase2sprkkr.common.grammar_types.Separator
) etc.
- do_not_skip_whitespaces_before_name = False
- _copy_excluded_args = ['container', 'grammar_hooks', 'expert']