(self, stream)
at this point you either have the non-pure Parser (which has its own reader and
        scanner) or you have the pure Parser.
        If the pure Parser is set, then set the Reader and Scanner, if not already set.
        If either the Scanner or Reader are set, you cannot use the non-pure Parser,
            so reset it to the pure parser and set the Reader resp. Scanner if necessary
at this point you either have the non-pure Parser (which has its own reader and
        scanner) or you have the pure Parser.
        If the pure Parser is set, then set the Reader and Scanner, if not already set.
        If either the Scanner or Reader are set, you cannot use the non-pure Parser,
            so reset it to the pure parser and set the Reader resp. Scanner if necessary
at this point you either have the non - pure Parser ( which has its own reader and scanner ) or you have the pure Parser . If the pure Parser is set then set the Reader and Scanner if not already set . If either the Scanner or Reader are set you cannot use the non - pure Parser so reset it to the pure parser and set the Reader resp . Scanner if necessary
def load(self, stream):
        # type: (Union[Path, StreamTextType]) -> Any
        """
        at this point you either have the non-pure Parser (which has its own reader and
        scanner) or you have the pure Parser.
        If the pure Parser is set, then set the Reader and Scanner, if not already set.
        If either the Scanner or Reader are set, you cannot use the non-pure Parser,
            so reset it to the pure parser and set the Reader resp. Scanner if necessary
        """
        if not hasattr(stream, "read") and hasattr(stream, "open"):
            # pathlib.Path() instance
            with stream.open("rb") as fp:
                return self.load(fp)
        constructor, parser = self.get_constructor_parser(stream)
        try:
            return constructor.get_single_data()
        finally:
            parser.dispose()
            try:
                self._reader.reset_reader()
            except AttributeError:
                pass
            try:
                self._scanner.reset_scanner()
            except AttributeError:
                pass
def load ( self , stream ) : # type: (Union[Path, StreamTextType]) -> Any if not hasattr ( stream , "read" ) and hasattr ( stream , "open" ) : # pathlib.Path() instance with stream . open ( "rb" ) as fp : return self . load ( fp ) constructor , parser = self . get_constructor_parser ( stream ) try : return constructor . get_single_data ( ) finally : parser . dispose ( ) try : self . _reader . reset_reader ( ) except AttributeError : pass try : self . _scanner . reset_scanner ( ) except AttributeError : pass