(self)
| 240 | file.close() |
| 241 | |
| 242 | def close(self): |
| 243 | if (self._entity_stack or self._parser is None or |
| 244 | isinstance(self._parser, _ClosedParser)): |
| 245 | # If we are completing an external entity, do nothing here |
| 246 | return |
| 247 | try: |
| 248 | self.feed(b"", isFinal=True) |
| 249 | self._cont_handler.endDocument() |
| 250 | self._parsing = False |
| 251 | # break cycle created by expat handlers pointing to our methods |
| 252 | self._parser = None |
| 253 | finally: |
| 254 | self._parsing = False |
| 255 | if self._parser is not None: |
| 256 | # Keep ErrorColumnNumber and ErrorLineNumber after closing. |
| 257 | parser = _ClosedParser() |
| 258 | parser.ErrorColumnNumber = self._parser.ErrorColumnNumber |
| 259 | parser.ErrorLineNumber = self._parser.ErrorLineNumber |
| 260 | self._parser = parser |
| 261 | self._close_source() |
| 262 | |
| 263 | def _reset_cont_handler(self): |
| 264 | self._parser.ProcessingInstructionHandler = \ |
no test coverage detected