Changeset 377 for pyyaml/trunk/lib3/yaml/__init__.py
- Timestamp:
- 05/29/11 22:51:30 (2 years ago)
- File:
-
- 1 edited
-
pyyaml/trunk/lib3/yaml/__init__.py (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
pyyaml/trunk/lib3/yaml/__init__.py
r360 r377 23 23 """ 24 24 loader = Loader(stream) 25 while loader.check_token(): 26 yield loader.get_token() 25 try: 26 while loader.check_token(): 27 yield loader.get_token() 28 finally: 29 loader.dispose() 27 30 28 31 def parse(stream, Loader=Loader): … … 31 34 """ 32 35 loader = Loader(stream) 33 while loader.check_event(): 34 yield loader.get_event() 36 try: 37 while loader.check_event(): 38 yield loader.get_event() 39 finally: 40 loader.dispose() 35 41 36 42 def compose(stream, Loader=Loader): … … 40 46 """ 41 47 loader = Loader(stream) 42 return loader.get_single_node() 48 try: 49 return loader.get_single_node() 50 finally: 51 loader.dispose() 43 52 44 53 def compose_all(stream, Loader=Loader): … … 48 57 """ 49 58 loader = Loader(stream) 50 while loader.check_node(): 51 yield loader.get_node() 59 try: 60 while loader.check_node(): 61 yield loader.get_node() 62 finally: 63 loader.dispose() 52 64 53 65 def load(stream, Loader=Loader): … … 57 69 """ 58 70 loader = Loader(stream) 59 return loader.get_single_data() 71 try: 72 return loader.get_single_data() 73 finally: 74 loader.dispose() 60 75 61 76 def load_all(stream, Loader=Loader): … … 65 80 """ 66 81 loader = Loader(stream) 67 while loader.check_data(): 68 yield loader.get_data() 82 try: 83 while loader.check_data(): 84 yield loader.get_data() 85 finally: 86 loader.dispose() 69 87 70 88 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() … … 122 143 encoding=encoding, version=version, tags=tags, 123 144 explicit_start=explicit_start, explicit_end=explicit_end) 124 dumper.open() 125 for node in nodes: 126 dumper.serialize(node) 127 dumper.close() 145 try: 146 dumper.open() 147 for node in nodes: 148 dumper.serialize(node) 149 dumper.close() 150 finally: 151 dumper.dispose() 128 152 if getvalue: 129 153 return getvalue() … … 159 183 encoding=encoding, version=version, tags=tags, 160 184 explicit_start=explicit_start, explicit_end=explicit_end) 161 dumper.open() 162 for data in documents: 163 dumper.represent(data) 164 dumper.close() 185 try: 186 dumper.open() 187 for data in documents: 188 dumper.represent(data) 189 dumper.close() 190 finally: 191 dumper.dispose() 165 192 if getvalue: 166 193 return getvalue()
Note: See TracChangeset
for help on using the changeset viewer.
