summaryrefslogtreecommitdiff
path: root/lib/yaml/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/yaml/__init__.py')
-rw-r--r--lib/yaml/__init__.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/yaml/__init__.py b/lib/yaml/__init__.py
index cae7cde..f1fcf10 100644
--- a/lib/yaml/__init__.py
+++ b/lib/yaml/__init__.py
@@ -1,7 +1,10 @@
+from error import YAMLError
from reader import Reader
from scanner import Scanner
from parser import Parser
+from composer import Composer
+from resolver import Resolver
from tokens import *
from events import *
@@ -17,3 +20,32 @@ def parse(data, Reader=Reader, Scanner=Scanner, Parser=Parser):
parser = Parser(scanner)
return iter(parser)
+def compose(data, Reader=Reader, Scanner=Scanner, Parser=Parser,
+ Composer=Composer):
+ reader = Reader(data)
+ scanner = Scanner(reader)
+ parser = Parser(scanner)
+ composer = Composer(parser)
+ return iter(composer)
+
+def compose_document(*args, **kwds):
+ try:
+ return compose(*args, **kwds).next()
+ except StopIteration:
+ return None
+
+def resolve(data, Reader=Reader, Scanner=Scanner, Parser=Parser,
+ Composer=Composer, Resolver=Resolver):
+ reader = Reader(data)
+ scanner = Scanner(reader)
+ parser = Parser(scanner)
+ composer = Composer(parser)
+ resolver = Resolver(composer)
+ return iter(resolver)
+
+def resolve_document(*args, **kwds):
+ try:
+ return resolve(*args, **kwds).next()
+ except StopIteration:
+ return None
+