Improved reset/key unset logic

Patterns and incrs are now unset as well
This commit is contained in:
Jamie Hardt
2024-07-07 13:42:24 -07:00
parent 1b044025ea
commit 21277aff15

View File

@@ -63,6 +63,23 @@ class CommandEnv:
self.incr.pop(k, None) self.incr.pop(k, None)
self.patterns.pop(k, None) self.patterns.pop(k, None)
# delete all patterns that refer to the key
refs = []
for pattern_key, (frm, _, _) in self.patterns:
if frm == k:
refs.append(pattern_key)
for ref in refs:
del self.patterns[ref]
def reset_keys(self):
all_keys = list(self.metadatums.keys())
for key in all_keys:
self.unset_key(key)
def set_pattern(self, to: str, frm: str, pattern: str, repl: str): def set_pattern(self, to: str, frm: str, pattern: str, repl: str):
""" """