robot.variables package
Implements storing and resolving variables.
This package is mainly for internal usage, but utilities for finding
variables can be used externally as well.
Submodules
robot.variables.assigner module
-
class
robot.variables.assigner.
VariableAssignment
(assignment)[source]
Bases: object
-
validate_assignment
()[source]
-
assigner
(context)[source]
-
class
robot.variables.assigner.
AssignmentValidator
[source]
Bases: object
-
validate
(variable)[source]
-
class
robot.variables.assigner.
VariableAssigner
(assignment, context)[source]
Bases: object
-
assign
(return_value)[source]
-
robot.variables.assigner.
ReturnValueResolver
(assignment)[source]
-
class
robot.variables.assigner.
NoReturnValueResolver
[source]
Bases: object
-
resolve
(return_value)[source]
-
class
robot.variables.assigner.
OneReturnValueResolver
(assignment)[source]
Bases: object
-
resolve
(return_value)[source]
-
class
robot.variables.assigner.
ScalarsOnlyReturnValueResolver
(assignments)[source]
Bases: robot.variables.assigner._MultiReturnValueResolver
-
resolve
(return_value)
-
class
robot.variables.assigner.
ScalarsAndListReturnValueResolver
(assignments)[source]
Bases: robot.variables.assigner._MultiReturnValueResolver
-
resolve
(return_value)
robot.variables.evaluation module
-
robot.variables.evaluation.
evaluate_expression
(expression, variables, modules=None, namespace=None, resolve_variables=False)[source]
-
class
robot.variables.evaluation.
EvaluationNamespace
(variable_store, namespace)[source]
Bases: collections.abc.MutableMapping
-
clear
() → None. Remove all items from D.
-
get
(k[, d]) → D[k] if k in D, else d. d defaults to None.
-
items
() → a set-like object providing a view on D's items
-
keys
() → a set-like object providing a view on D's keys
-
pop
(k[, d]) → v, remove specified key and return the corresponding value.
If key is not found, d is returned if given, otherwise KeyError is raised.
-
popitem
() → (k, v), remove and return some (key, value) pair
as a 2-tuple; but raise KeyError if D is empty.
-
setdefault
(k[, d]) → D.get(k,d), also set D[k]=d if k not in D
-
update
([E, ]**F) → None. Update D from mapping/iterable E and F.
If E present and has a .keys() method, does: for k in E: D[k] = E[k]
If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v
In either case, this is followed by: for k, v in F.items(): D[k] = v
-
values
() → an object providing a view on D's values
robot.variables.filesetter module
-
class
robot.variables.filesetter.
VariableFileSetter
(store)[source]
Bases: object
-
set
(path_or_variables, args=None, overwrite=False)[source]
-
class
robot.variables.filesetter.
YamlImporter
[source]
Bases: object
-
import_variables
(path, args=None)[source]
-
class
robot.variables.filesetter.
PythonImporter
[source]
Bases: object
-
import_variables
(path, args=None)[source]
-
class
robot.variables.filesetter.
JsonImporter
[source]
Bases: object
-
import_variables
(path, args=None)[source]
robot.variables.finders module
-
class
robot.variables.finders.
VariableFinder
(variables)[source]
Bases: object
-
find
(variable)[source]
-
class
robot.variables.finders.
StoredFinder
(store)[source]
Bases: object
-
identifiers
= '$@&'
-
find
(name)[source]
-
class
robot.variables.finders.
NumberFinder
[source]
Bases: object
-
identifiers
= '$'
-
find
(name)[source]
-
class
robot.variables.finders.
EmptyFinder
[source]
Bases: object
-
identifiers
= '$@&'
-
empty
= NormalizedDict({'${EMPTY}': '', '&{EMPTY}': {}, '@{EMPTY}': ()})
-
find
(name)[source]
-
class
robot.variables.finders.
InlinePythonFinder
(variables)[source]
Bases: object
-
identifiers
= '$@&'
-
find
(name)[source]
-
class
robot.variables.finders.
ExtendedFinder
(finder)[source]
Bases: object
-
identifiers
= '$@&'
-
find
(name)[source]
-
class
robot.variables.finders.
EnvironmentFinder
[source]
Bases: object
-
identifiers
= '%'
-
find
(name)[source]
robot.variables.notfound module
-
robot.variables.notfound.
variable_not_found
(name, candidates, message=None, deco_braces=True)[source]
Raise DataError for missing variable name.
Return recommendations for similar variable names if any are found.
robot.variables.replacer module
-
class
robot.variables.replacer.
VariableReplacer
(variables)[source]
Bases: object
-
replace_list
(items, replace_until=None, ignore_errors=False)[source]
Replaces variables from a list of items.
If an item in a list is a @{list} variable its value is returned.
Possible variables from other items are replaced using ‘replace_scalar’.
Result is always a list.
‘replace_until’ can be used to limit replacing arguments to certain
index from the beginning. Used with Run Keyword variants that only
want to resolve some arguments in the beginning and pass others
to called keywords unmodified.
-
replace_scalar
(item, ignore_errors=False)[source]
Replaces variables from a scalar item.
If the item is not a string it is returned as is. If it is a variable,
its value is returned. Otherwise, possible variables are replaced with
‘replace_string’. Result may be any object.
-
replace_string
(item, custom_unescaper=None, ignore_errors=False)[source]
Replaces variables from a string. Result is always a string.
Input can also be an already found VariableMatch.
robot.variables.scopes module
-
class
robot.variables.scopes.
VariableScopes
(settings)[source]
Bases: object
-
current
-
start_suite
()[source]
-
end_suite
()[source]
-
start_test
()[source]
-
end_test
()[source]
-
start_keyword
()[source]
-
end_keyword
()[source]
-
replace_list
(items, replace_until=None, ignore_errors=False)[source]
-
replace_scalar
(items, ignore_errors=False)[source]
-
replace_string
(string, custom_unescaper=None, ignore_errors=False)[source]
-
set_from_file
(path, args, overwrite=False)[source]
-
set_from_variable_table
(variables, overwrite=False)[source]
-
resolve_delayed
()[source]
-
set_global
(name, value)[source]
-
set_suite
(name, value, top=False, children=False)[source]
-
set_test
(name, value)[source]
-
set_keyword
(name, value)[source]
-
set_local_variable
(name, value)[source]
-
as_dict
(decoration=True)[source]
-
class
robot.variables.scopes.
GlobalVariables
(settings)[source]
Bases: robot.variables.variables.Variables
-
as_dict
(decoration=True)
-
clear
()
-
copy
()
-
replace_list
(items, replace_until=None, ignore_errors=False)
-
replace_scalar
(item, ignore_errors=False)
-
replace_string
(item, custom_unescaper=None, ignore_errors=False)
-
resolve_delayed
()
-
set_from_file
(path_or_variables, args=None, overwrite=False)
-
set_from_variable_table
(variables, overwrite=False)
-
update
(variables)
-
class
robot.variables.scopes.
SetVariables
[source]
Bases: object
-
start_suite
()[source]
-
end_suite
()[source]
-
start_test
()[source]
-
end_test
()[source]
-
start_keyword
()[source]
-
end_keyword
()[source]
-
set_global
(name, value)[source]
-
set_suite
(name, value)[source]
-
set_test
(name, value)[source]
-
set_keyword
(name, value)[source]
-
update
(variables)[source]
robot.variables.search module
-
robot.variables.search.
search_variable
(string, identifiers='$@&%*', ignore_errors=False)[source]
-
robot.variables.search.
contains_variable
(string, identifiers='$@&')[source]
-
robot.variables.search.
is_variable
(string, identifiers='$@&')[source]
-
robot.variables.search.
is_scalar_variable
(string)[source]
-
robot.variables.search.
is_list_variable
(string)[source]
-
robot.variables.search.
is_dict_variable
(string)[source]
-
robot.variables.search.
is_assign
(string, identifiers='$@&', allow_assign_mark=False, allow_items=False)[source]
-
robot.variables.search.
is_scalar_assign
(string, allow_assign_mark=False, allow_items=False)[source]
-
robot.variables.search.
is_list_assign
(string, allow_assign_mark=False, allow_items=False)[source]
-
robot.variables.search.
is_dict_assign
(string, allow_assign_mark=False, allow_items=False)[source]
-
class
robot.variables.search.
VariableMatch
(string, identifier=None, base=None, items=(), start=-1, end=-1)[source]
Bases: object
-
resolve_base
(variables, ignore_errors=False)[source]
-
name
-
before
-
match
-
after
-
is_variable
()[source]
-
is_scalar_variable
()[source]
-
is_list_variable
()[source]
-
is_dict_variable
()[source]
-
is_assign
(allow_assign_mark=False, allow_nested=False, allow_items=False)[source]
-
is_scalar_assign
(allow_assign_mark=False, allow_nested=False)[source]
-
is_list_assign
(allow_assign_mark=False, allow_nested=False)[source]
-
is_dict_assign
(allow_assign_mark=False, allow_nested=False)[source]
-
robot.variables.search.
unescape_variable_syntax
(item)[source]
-
class
robot.variables.search.
VariableIterator
(string, identifiers='$@&%', ignore_errors=False)[source]
Bases: object
robot.variables.store module
-
class
robot.variables.store.
VariableStore
(variables)[source]
Bases: object
-
resolve_delayed
(item=None)[source]
-
get
(name, default=<object object>, decorated=True)[source]
-
update
(store)[source]
-
clear
()[source]
-
add
(name, value, overwrite=True, decorated=True)[source]
-
as_dict
(decoration=True)[source]
robot.variables.variables module
-
class
robot.variables.variables.
Variables
[source]
Bases: object
Represents a set of variables.
Contains methods for replacing variables from list, scalars, and strings.
On top of ${scalar}, @{list} and &{dict} variables, these methods handle
also %{environment} variables.
-
resolve_delayed
()[source]
-
replace_list
(items, replace_until=None, ignore_errors=False)[source]
-
replace_scalar
(item, ignore_errors=False)[source]
-
replace_string
(item, custom_unescaper=None, ignore_errors=False)[source]
-
set_from_file
(path_or_variables, args=None, overwrite=False)[source]
-
set_from_variable_table
(variables, overwrite=False)[source]
-
clear
()[source]
-
copy
()[source]
-
update
(variables)[source]
-
as_dict
(decoration=True)[source]