Unexisting variables from custom namespaces return None value now. fixed #19

master
Иванов Денис 3 years ago
parent 4323d334ab
commit 22663d464b

@ -812,6 +812,8 @@ class NamespaceNode:
return variable.get_value().get_table()
return variable.get_value()
else:
if self.get_package_name() == "custom":
return None
raise VariableNotFoundError("'{variable_name}' is not found in the"
" namespace '{namespace_name}'".format(
variable_name=name,
@ -824,6 +826,8 @@ class NamespaceNode:
elif name in self.variables:
return self.variables[name]
else:
if self.get_package_name() == "custom":
return None
raise VariableNotFoundError("'{variable_name}' is not found in the"
" namespace '{namespace_name}'".format(
variable_name=name,
@ -836,6 +840,7 @@ class NamespaceNode:
return '<Namespace: {}>'.format(self.get_fullname())
def __deepcopy__(self, memo):
'''Пространство имен не копируется даже при глубоком копировании.'''
return self

@ -1576,13 +1576,15 @@ id_2 = 1349'''
Datavars(variables_path=os.path.join(TESTFILES_PATH,
'variables_13'))
def test_if_datavars_object_is_used_to_get_access_to_an_unexisting_variable__the_datavars_module_raises_the_VariableNot_Found_exception(self):
def test_if_datavars_object_is_used_to_get_access_to_an_unexisting_variable_from_a_not_custom_namespace_and_from_a_custom_namespace__the_datavars_module_raises_the_VariableNotFound_exception_in_the_first_case_and_returns_None_value_in_the_second_case(self):
datavars = Datavars(variables_path=os.path.join(TESTFILES_PATH,
'variables_14'))
with pytest.raises(VariableNotFoundError):
datavars.level.variable
assert datavars.custom.variable is None
def test_if_some_template_processed_by_the_template_engine_tries_to_get_value_of_a_variable_that_does_not_exist__the_template_engine_raises_the_VariableNotFound_error(self):
datavars = Datavars(
variables_path=os.path.join(TESTFILES_PATH,

Loading…
Cancel
Save