1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#!/usr/bin/env python3
import sys
sys.path.insert(0, 'lib')
from yaml import *
ldr = SafeLoader()
def dice_constructor1(loader, node):
value = loader.construct_scalar(node)
a, b = map(int, value.split('d'))
return [a,b]
def dice_constructor2(loader, node):
value = loader.construct_scalar(node)
a, b = map(int, value.split('d'))
return [b,a]
s = """
- !dice 3d4
"""
add_constructor('!dice', dice_constructor1, SafeLoader)
print()
data = load(s, SafeLoader)
print('1) SafeLoader -> %s' % data)
data = load(s, ldr)
print('1) Instance -> %s' % data)
ldr.add_constructor('!dice', dice_constructor2)
print()
data = load(s, SafeLoader)
print('2) SafeLoader -> %s' % data)
data = load(s, ldr)
print('2) Instance -> %s' % data)
ldr.add_constructor('!dice', None)
print()
data = load(s, SafeLoader)
print('3) SafeLoader -> %s' % data)
data = load(s, ldr)
print('3) Instance -> %s' % data)
|