mirror of
https://github.com/evennia/evennia.git
synced 2026-04-01 05:27:17 +02:00
[#1928] fix nested delete bug
This commit is contained in:
parent
1a1203fcb6
commit
2dfb327f88
2 changed files with 7 additions and 3 deletions
|
|
@ -1695,9 +1695,9 @@ class CmdSetAttribute(ObjManipCommand):
|
|||
if nested_keys:
|
||||
del_key = nested_keys[-1]
|
||||
val = obj.attributes.get(key)
|
||||
val = self.do_nested_lookup(val, *nested_keys[:-1])
|
||||
if val is not self.not_found:
|
||||
del val[del_key]
|
||||
deep = self.do_nested_lookup(val, *nested_keys[:-1])
|
||||
if deep is not self.not_found:
|
||||
del deep[del_key]
|
||||
obj.attributes.add(key, val)
|
||||
return "\nDeleted attribute '%s' (= nested) from %s." % (attr, obj.name)
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -566,6 +566,10 @@ class TestBuilding(CommandTest):
|
|||
"Obj/test3=[{'one': 1}]", "Created attribute Obj/test3 = [{'one': 1}]")
|
||||
self.call(building.CmdSetAttribute(), "Obj/test3[0]['one']", "Attribute Obj/test3[0]['one'] = 1")
|
||||
self.call(building.CmdSetAttribute(), "Obj/test3[0]", "Attribute Obj/test3[0] = {'one': 1}")
|
||||
self.call(building.CmdSetAttribute(),
|
||||
"Obj/test3[0]['one'] =", "Deleted attribute 'test3[0]['one']' (= nested) from Obj.")
|
||||
self.call(building.CmdSetAttribute(), "Obj/test3[0]", "Attribute Obj/test3[0] = {}")
|
||||
self.call(building.CmdSetAttribute(), "Obj/test3", "Attribute Obj/test3 = [{}]")
|
||||
|
||||
# Naughty keys
|
||||
self.call(building.CmdSetAttribute(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue