From 8fb897980626b7370f2e46d5a582fc596c7ab379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingy=20d=C3=B6t=20Net?= Date: Sun, 26 Sep 2021 21:54:31 -0400 Subject: [PATCH] Example script --- example_loader_instance.py | 52 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 example_loader_instance.py diff --git a/example_loader_instance.py b/example_loader_instance.py new file mode 100755 index 00000000..b7107cb3 --- /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)