robot.variables package

Implements storing and resolving variables.

This package is mainly for internal usage, but utilities for findingvariables can be used externally as well.

Submodules

robot.variables.assigner module

classrobot.variables.assigner.VariableAssignment(assignment)[source]

Bases:object

validate_assignment()[source]
assigner(context)[source]
classrobot.variables.assigner.AssignmentValidator[source]

Bases:object

validate(assignment)[source]
classrobot.variables.assigner.VariableAssigner(assignment,context)[source]

Bases:object

assign(return_value)[source]
classrobot.variables.assigner.ReturnValueResolver[source]

Bases:object

classmethodfrom_assignment(assignment)[source]
resolve(return_value)[source]
classrobot.variables.assigner.NoReturnValueResolver[source]

Bases:ReturnValueResolver

resolve(return_value)[source]
classrobot.variables.assigner.OneReturnValueResolver(assignment)[source]

Bases:ReturnValueResolver

resolve(return_value)[source]
classrobot.variables.assigner.MultiReturnValueResolver(assignments)[source]

Bases:ReturnValueResolver

resolve(return_value)[source]
classrobot.variables.assigner.ScalarsOnlyReturnValueResolver(assignments)[source]

Bases:MultiReturnValueResolver

classrobot.variables.assigner.ScalarsAndListReturnValueResolver(assignments)[source]

Bases:MultiReturnValueResolver

robot.variables.evaluation module

robot.variables.evaluation.evaluate_expression(expression,variables,modules=None,namespace=None,resolve_variables=False)[source]
classrobot.variables.evaluation.EvaluationNamespace(variable_store,namespace)[source]

Bases:MutableMapping

robot.variables.filesetter module

classrobot.variables.filesetter.VariableFileSetter(store:VariableStore)[source]

Bases:object

set(path_or_variables,args=None,overwrite=False)[source]
classrobot.variables.filesetter.PythonImporter[source]

Bases:object

import_variables(path,args=None)[source]
classrobot.variables.filesetter.JsonImporter[source]

Bases:object

import_variables(path,args=None)[source]
classrobot.variables.filesetter.YamlImporter[source]

Bases:object

import_variables(path,args=None)[source]

robot.variables.finders module

classrobot.variables.finders.VariableFinder(variables)[source]

Bases:object

find(variable)[source]
classrobot.variables.finders.StoredFinder(store)[source]

Bases:object

identifiers='$@&'
find(name)[source]
classrobot.variables.finders.NumberFinder[source]

Bases:object

identifiers='$'
find(name)[source]
classrobot.variables.finders.EmptyFinder[source]

Bases:object

identifiers='$@&'
empty=NormalizedDict({'${EMPTY}':'','&{EMPTY}':{},'@{EMPTY}':()})
find(name)[source]
classrobot.variables.finders.InlinePythonFinder(variables)[source]

Bases:object

identifiers='$@&'
find(name)[source]
classrobot.variables.finders.ExtendedFinder(finder)[source]

Bases:object

identifiers='$@&'
find(name)[source]
classrobot.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

classrobot.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 certainindex from the beginning. Used with Run Keyword variants that onlywant to resolve some arguments in the beginning and pass othersto 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.resolvable module

classrobot.variables.resolvable.Resolvable[source]

Bases:object

resolve(variables)[source]
report_error(error)[source]
classrobot.variables.resolvable.GlobalVariableValue(value)[source]

Bases:Resolvable

resolve(variables)[source]

robot.variables.scopes module

classrobot.variables.scopes.VariableScopes(settings)[source]

Bases:object

propertycurrent
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_section(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(name,value)[source]
as_dict(decoration=True)[source]
classrobot.variables.scopes.GlobalVariables(settings)[source]

Bases:Variables

classrobot.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,children=False)[source]
set_test(name,value)[source]
set_keyword(name,value)[source]
update(variables)[source]

robot.variables.search module

robot.variables.search.search_variable(string:str,identifiers:Sequence[str]='$@&%*',parse_type:bool=False,ignore_errors:bool=False)VariableMatch[source]
robot.variables.search.contains_variable(string:str,identifiers:Sequence[str]='$@&')bool[source]
robot.variables.search.is_variable(string:str,identifiers:Sequence[str]='$@&')bool[source]
robot.variables.search.is_scalar_variable(string:str)bool[source]
robot.variables.search.is_list_variable(string:str)bool[source]
robot.variables.search.is_dict_variable(string:str)bool[source]
robot.variables.search.is_assign(string:str,identifiers:Sequence[str]='$@&',allow_assign_mark:bool=False,allow_nested:bool=False,allow_items:bool=False)bool[source]
robot.variables.search.is_scalar_assign(string:str,allow_assign_mark:bool=False,allow_nested:bool=False,allow_items:bool=False)bool[source]
robot.variables.search.is_list_assign(string:str,allow_assign_mark:bool=False,allow_nested:bool=False,allow_items:bool=False)bool[source]
robot.variables.search.is_dict_assign(string:str,allow_assign_mark:bool=False,allow_nested:bool=False,allow_items:bool=False)bool[source]
classrobot.variables.search.VariableMatch(string:str,identifier:str|None=None,base:str|None=None,type:str|None=None,items:tuple[str,...]=(),start:int=-1,end:int=-1)[source]

Bases:object

resolve_base(variables,ignore_errors=False)[source]
propertyname:str|None
propertybefore:str
propertymatch:str|None
propertyafter:str
is_variable()bool[source]
is_scalar_variable()bool[source]
is_list_variable()bool[source]
is_dict_variable()bool[source]
is_assign(allow_assign_mark:bool=False,allow_nested:bool=False,allow_items:bool=False)bool[source]
is_scalar_assign(allow_assign_mark:bool=False,allow_nested:bool=False)bool[source]
is_list_assign(allow_assign_mark:bool=False,allow_nested:bool=False)bool[source]
is_dict_assign(allow_assign_mark:bool=False,allow_nested:bool=False)bool[source]
robot.variables.search.unescape_variable_syntax(item)[source]
classrobot.variables.search.VariableMatches(string:str,identifiers:Sequence[str]='$@&%',parse_type:bool=False,ignore_errors:bool=False)[source]

Bases:object

robot.variables.store module

classrobot.variables.store.VariableStore(variables)[source]

Bases:object

resolve_delayed(item=None)[source]
get(name,default=,decorated=True)[source]
pop(name,decorated=True)[source]
update(store)[source]
clear()[source]
add(name,value,overwrite=True,decorated=True)[source]
as_dict(decoration=True)[source]

robot.variables.tablesetter module

classrobot.variables.tablesetter.VariableTableSetter(store:VariableStore)[source]

Bases:object

set(variables:Sequence[Variable],overwrite:bool=False)[source]
classrobot.variables.tablesetter.VariableResolver(value:Sequence[str],name:str|None=None,type:str|None=None,error_reporter:Callable[[str],None]|None=None)[source]

Bases:Resolvable

classmethodfrom_name_and_value(name:str,value:str|Sequence[str],separator:str|None=None,error_reporter:Callable[[str],None]|None=None)VariableResolver[source]
classmethodfrom_variable(var:Var|Variable)VariableResolver[source]
resolve(variables)Any[source]
report_error(error)[source]
classrobot.variables.tablesetter.ScalarVariableResolver(value:str|Sequence[str],separator:str|None=None,name=None,type=None,error_reporter=None)[source]

Bases:VariableResolver

classrobot.variables.tablesetter.ListVariableResolver(value:Sequence[str],name:str|None=None,type:str|None=None,error_reporter:Callable[[str],None]|None=None)[source]

Bases:VariableResolver

classrobot.variables.tablesetter.DictVariableResolver(value:Sequence[str],name=None,type=None,error_reporter=None)[source]

Bases:VariableResolver

robot.variables.variables module

classrobot.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 handlealso %{environment} variables.

get(name,default=None)[source]
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_section(variables,overwrite=False)[source]
clear()[source]
copy(update=None)[source]
update(variables)[source]
as_dict(decoration=True)[source]