Compare commits

..

13 commits

Author SHA1 Message Date
mwiegand
001ab5edef wip 2022-08-17 23:49:00 +02:00
mwiegand
532df976db wip 2022-08-17 23:49:00 +02:00
mwiegand
3c0960766c wip 2022-08-17 23:49:00 +02:00
mwiegand
ad579d79a6 wip 2022-08-17 23:49:00 +02:00
mwiegand
f3375348c9 wip 2022-08-17 23:49:00 +02:00
mwiegand
1320f6fcb3 wip 2022-08-17 23:49:00 +02:00
mwiegand
b9b025a316 wip 2022-08-17 23:49:00 +02:00
mwiegand
c71221f16c wip 2022-08-17 23:49:00 +02:00
mwiegand
a72ef99f78 wip 2022-08-17 23:49:00 +02:00
mwiegand
717811a888 wip 2022-08-17 23:49:00 +02:00
mwiegand
fb818b2c74 wip 2022-08-17 23:49:00 +02:00
mwiegand
885588910a wip 2022-08-17 23:49:00 +02:00
mwiegand
606a60b1c0 faster demagify 2022-08-17 23:48:32 +02:00

View file

@ -1,5 +1,6 @@
from os import walk from os import walk
from os.path import join, basename, splitext from os.path import join, basename, splitext
from re import search
converters = { converters = {
'32_random_bytes_as_base64_for': lambda x: vault.random_bytes_as_base64_for(x, length=32), '32_random_bytes_as_base64_for': lambda x: vault.random_bytes_as_base64_for(x, length=32),
@ -10,9 +11,10 @@ converters = {
def demagify(data): def demagify(data):
if isinstance(data, str): if isinstance(data, str):
for name, converter in converters.items(): match = search(r'^\!([0-9a-zA-Z_-]{,255})\:(.*)$', data)
if data.startswith(f'!{name}:'): if match:
return converter(data[len(name) + 2:]) magicstring, content = match.groups()
return converters[magicstring](content)
else: else:
return data return data
elif isinstance(data, dict): elif isinstance(data, dict):