Implement Composer and BaseResolver.
[pyyaml/python3.git] / lib / yaml / __init__.py
blobf1fcf10a45966a3be8c25e30c66bbfba06532bec
2 from error import YAMLError
3 from reader import Reader
4 from scanner import Scanner
5 from parser import Parser
6 from composer import Composer
7 from resolver import Resolver
9 from tokens import *
10 from events import *
12 def scan(data, Reader=Reader, Scanner=Scanner):
13 reader = Reader(data)
14 scanner = Scanner(reader)
15 return iter(scanner)
17 def parse(data, Reader=Reader, Scanner=Scanner, Parser=Parser):
18 reader = Reader(data)
19 scanner = Scanner(reader)
20 parser = Parser(scanner)
21 return iter(parser)
23 def compose(data, Reader=Reader, Scanner=Scanner, Parser=Parser,
24 Composer=Composer):
25 reader = Reader(data)
26 scanner = Scanner(reader)
27 parser = Parser(scanner)
28 composer = Composer(parser)
29 return iter(composer)
31 def compose_document(*args, **kwds):
32 try:
33 return compose(*args, **kwds).next()
34 except StopIteration:
35 return None
37 def resolve(data, Reader=Reader, Scanner=Scanner, Parser=Parser,
38 Composer=Composer, Resolver=Resolver):
39 reader = Reader(data)
40 scanner = Scanner(reader)
41 parser = Parser(scanner)
42 composer = Composer(parser)
43 resolver = Resolver(composer)
44 return iter(resolver)
46 def resolve_document(*args, **kwds):
47 try:
48 return resolve(*args, **kwds).next()
49 except StopIteration:
50 return None