Пример #1
0
def stream_parser(request, tmpdir_factory):
    """Load a stream.

    """
    testdir = os.path.dirname(__file__)
    stream_file = testdir + '/stdout'
    stream = Stream(file_path=stream_file)

    return stream
Пример #2
0
def stream_parser_file_objects(request, tmpdir_factory):
    """Load stream file from a file object.

    """
    testdir = os.path.dirname(__file__)
    stream_file = testdir + '/stdout'
    stream = None
    with open(stream_file) as file_handler:
        stream = Stream(file_handler=file_handler)

    return stream
Пример #3
0
def test_stream_override(stream_parser):
    """Check that the stream override works."""
    import re
    testdir = os.path.dirname(__file__)
    stream_file = testdir + '/stdout'
    stream = Stream(file_path=stream_file,
                    config={
                        'ibzkpt': {
                            'kind': 'WARNING',
                            'regex': 'internal error',
                            'message': 'some error',
                            'suggestion': 'none',
                            'location': 'STDOUT',
                            'recover': True
                        }
                    })
    assert len(stream.entries) == 1
    assert stream.entries[0].kind == 'WARNING'
    assert stream.entries[0].regex == re.compile('internal error')
    assert stream.entries[0].message == 'some error'
    assert stream.entries[0].suggestion == 'none'
    assert stream.entries[0].location == stream_parser.entries[0].location
    assert stream.entries[0].recover == stream_parser.entries[0].recover
Пример #4
0
    def _init_stream(self, path):
        """Init with a file path."""
        self._parsed_data = {}
        self._parsable_items = self.__class__.PARSABLE_ITEMS
        self._data_obj = SingleFile(path=path)

        # Since the VASP output can be fairly large, we will parse it only
        # once and store the parsevasp Stream object.
        # First get any special config from the parser settings, else use the default
        stream_config = None
        history = False
        if self._settings is not None:
            stream_config = self._settings.get('stream_config', None)
            history = self._settings.get('stream_history', False)
        try:
            self._stream = Stream(file_path=path,
                                  logger=self._logger,
                                  history=history,
                                  config=stream_config)
        except SystemExit:
            self._logger.warning(
                'Parsevasp exited abruptly when parsing the standard stream. Returning None.'
            )
            self._stream = None