Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
god function ?naaaaah solution in Clear category for YAML. More Types by Lumy
# Taken from mission YAML. Simple Dict
def to_i(k):
k = k.strip()
if k == 'false' or k == 'False':
return False
elif k == 'true' or k == 'True':
return True
elif not len(k) or k == 'null':
return None
try:
return int(k)
except Exception as e:
if k.startswith('"'):
k = k[1:]
if k.endswith('"'):
k = k[:-1]
return k.replace("\\", "")
def yaml(a):
r = {}
for line in a.split('\n'):
line = line.strip()
if not len(line):
continue
k,v = line.split(':')
r[to_i(k)] = to_i(v)
return r
if __name__ == '__main__':
print("Example:")
print(yaml('name: Alex\nage: 12'))
# These "asserts" are used for self-checking and not for an auto-testing
assert yaml('name: Alex\nage: 12') == {'age': 12, 'name': 'Alex'}
assert yaml('name: Alex Fox\n'
'age: 12\n'
'\n'
'class: 12b') == {'age': 12,
'class': '12b',
'name': 'Alex Fox'}
assert yaml('name: "Alex Fox"\n'
'age: 12\n'
'\n'
'class: 12b') == {'age': 12,
'class': '12b',
'name': 'Alex Fox'}
assert yaml('name: "Alex \\"Fox\\""\n'
'age: 12\n'
'\n'
'class: 12b') == {'age': 12,
'class': '12b',
'name': 'Alex "Fox"'}
assert yaml('name: "Bob Dylan"\n'
'children: 6\n'
'alive: false') == {'alive': False,
'children': 6,
'name': 'Bob Dylan'}
assert yaml('name: "Bob Dylan"\n'
'children: 6\n'
'coding:') == {'children': 6,
'coding': None,
'name': 'Bob Dylan'}
assert yaml('name: "Bob Dylan"\n'
'children: 6\n'
'coding: null') == {'children': 6,
'coding': None,
'name': 'Bob Dylan'}
assert yaml('name: "Bob Dylan"\n'
'children: 6\n'
'coding: "null" ') == {'children': 6,
'coding': 'null',
'name': 'Bob Dylan'}
print("Coding complete? Click 'Check' to earn cool rewards!")
Nov. 28, 2020