Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for YAML. More Types by kazuki.h
import re
def values_swap(values):
result = []
for value in values:
if value == '':
result.append(None)
continue
while value[-1] == " ": value = value[:-1]
if value.isdecimal():
result.append(int(value))
continue
if value == "true":
result.append(True)
continue
if value == "false":
result.append(False)
continue
if value == "\"null\"":
result.append(value)
continue
if value[-1]=='"': value = value[1:-1]
if '\\"' in value: value = value.replace('\\"', '"')
result.append(value)
return result
def yaml(a):
a += " "
keys = re.findall(r'\w+(?=\:)', a)
values = values_swap(re.findall(r'(?<=\:\s).*', a))
return {key: value \
if value != "null" and value != "\"null\"" else "null" if value == "\"null\"" else None \
for key, value in zip(keys, values)}
Dec. 14, 2021
Comments: