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