diff options
author | Ingy döt Net <ingy@ingy.net> | 2021-09-26 21:54:31 -0400 |
---|---|---|
committer | Ingy döt Net <ingy@ingy.net> | 2021-09-26 21:54:31 -0400 |
commit | 8fb897980626b7370f2e46d5a582fc596c7ab379 (patch) | |
tree | fcaf83033fc5adb3b8ef03a0727033c413035ffc /example_loader_instance.py | |
parent | c468e526797720ef59e57e6c92a1603479d4c010 (diff) | |
download | pyyaml-git-loader-dumper-objects-api.tar.gz |
Example scriptloader-dumper-objects-api
Diffstat (limited to 'example_loader_instance.py')
-rwxr-xr-x | example_loader_instance.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/example_loader_instance.py b/example_loader_instance.py new file mode 100755 index 0000000..b7107cb --- /dev/null +++ b/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) |