diff --git a/nodes.py b/nodes.py index eb88394..316a7fa 100644 --- a/nodes.py +++ b/nodes.py @@ -10,9 +10,10 @@ converters = { def demagify(data): if isinstance(data, str): - for name, converter in converters.items(): - if data.startswith(f'!{name}:'): - return converter(data[len(name) + 2:]) + match = search(r'^\!([0-9a-zA-Z_-]{,255})\:(.*)$', data) + if match: + magicstring, content = match.groups() + return converters[magicstring](content) else: return data elif isinstance(data, dict):