Skip to content

Commit

Permalink
Example script
Browse files Browse the repository at this point in the history
  • Loading branch information
ingydotnet committed Sep 27, 2021
1 parent c468e52 commit 8fb8979
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions example_loader_instance.py
@@ -0,0 +1,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)

0 comments on commit 8fb8979

Please sign in to comment.