Changeset 377 for pyyaml/trunk/lib/yaml/__init__.py
- Timestamp:
- 05/29/11 22:51:30 (2 years ago)
- File:
-
- 1 edited
-
pyyaml/trunk/lib/yaml/__init__.py (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
pyyaml/trunk/lib/yaml/__init__.py
r360 r377 22 22 """ 23 23 loader = Loader(stream) 24 while loader.check_token(): 25 yield loader.get_token() 24 try: 25 while loader.check_token(): 26 yield loader.get_token() 27 finally: 28 loader.dispose() 26 29 27 30 def parse(stream, Loader=Loader): … … 30 33 """ 31 34 loader = Loader(stream) 32 while loader.check_event(): 33 yield loader.get_event() 35 try: 36 while loader.check_event(): 37 yield loader.get_event() 38 finally: 39 loader.dispose() 34 40 35 41 def compose(stream, Loader=Loader): … … 39 45 """ 40 46 loader = Loader(stream) 41 return loader.get_single_node() 47 try: 48 return loader.get_single_node() 49 finally: 50 loader.dispose() 42 51 43 52 def compose_all(stream, Loader=Loader): … … 47 56 """ 48 57 loader = Loader(stream) 49 while loader.check_node(): 50 yield loader.get_node() 58 try: 59 while loader.check_node(): 60 yield loader.get_node() 61 finally: 62 loader.dispose() 51 63 52 64 def load(stream, Loader=Loader): … … 56 68 """ 57 69 loader = Loader(stream) 58 return loader.get_single_data() 70 try: 71 return loader.get_single_data() 72 finally: 73 loader.dispose() 59 74 60 75 def load_all(stream, Loader=Loader): … … 64 79 """ 65 80 loader = Loader(stream) 66 while loader.check_data(): 67 yield loader.get_data() 81 try: 82 while loader.check_data(): 83 yield loader.get_data() 84 finally: 85 loader.dispose() 68 86 69 87 def safe_load(stream): … … 97 115 dumper = Dumper(stream, canonical=canonical, indent=indent, width=width, 98 116 allow_unicode=allow_unicode, line_break=line_break) 99 for event in events: 100 dumper.emit(event) 117 try: 118 for event in events: 119 dumper.emit(event) 120 finally: 121 dumper.dispose() 101 122 if getvalue: 102 123 return getvalue() … … 123 144 encoding=encoding, version=version, tags=tags, 124 145 explicit_start=explicit_start, explicit_end=explicit_end) 125 dumper.open() 126 for node in nodes: 127 dumper.serialize(node) 128 dumper.close() 146 try: 147 dumper.open() 148 for node in nodes: 149 dumper.serialize(node) 150 dumper.close() 151 finally: 152 dumper.dispose() 129 153 if getvalue: 130 154 return getvalue() … … 161 185 encoding=encoding, version=version, tags=tags, 162 186 explicit_start=explicit_start, explicit_end=explicit_end) 163 dumper.open() 164 for data in documents: 165 dumper.represent(data) 166 dumper.close() 187 try: 188 dumper.open() 189 for data in documents: 190 dumper.represent(data) 191 dumper.close() 192 finally: 193 dumper.dispose() 167 194 if getvalue: 168 195 return getvalue()
Note: See TracChangeset
for help on using the changeset viewer.
