def _parse_log(uri, repo, parser, reader, config, db): """Parse the log with the given parser, outputting to a database. Args: uri: The URI of the log to parse (this is already set in the parser) repo: The repositoryhandler repository object to query parser: The parser object that should be started reader: The log reader config: The Config object that specifies the current config db: The database to add the data to """ # Start the parsing process printout("Parsing log for %s (%s)", (uri, repo.get_type())) def new_line(line, user_data): parser, writer = user_data parser.feed(line) writer and writer.add_line(line) writer = None if config.save_logfile is not None: writer = LogWriter(config.save_logfile) parser.set_content_handler(DBProxyContentHandler(db)) reader.start(new_line, (parser, writer)) parser.end() writer and writer.close()
rep = DBRepository(None, uri, name, repo.get_type()) cursor.execute(statement(DBRepository.__insert__, db.place_holder), (rep.id, rep.uri, rep.name, rep.type)) cursor.close() cnn.commit() cnn.close() if not config.no_parse: # Start the parsing process printout("Parsing log for %s (%s)", (path or uri, repo.get_type())) def new_line(line, user_data): parser, writer = user_data parser.feed(line) writer and writer.add_line(line) writer = None if config.save_logfile is not None: writer = LogWriter(config.save_logfile) parser.set_content_handler(DBProxyContentHandler(db)) reader.start(new_line, (parser, writer)) parser.end() writer and writer.close() # Run extensions printout("Executing extensions") emg.run_extensions(repo, path or uri, db)
rep = DBRepository (None, uri, name, repo.get_type ()) cursor.execute (statement (DBRepository.__insert__, db.place_holder), (rep.id, rep.uri, rep.name, rep.type)) cursor.close () cnn.commit () cnn.close () if not config.no_parse: # Start the parsing process printout ("Parsing log for %s (%s)", (path or uri, repo.get_type ())) def new_line (line, user_data): parser, writer = user_data parser.feed (line) writer and writer.add_line (line) writer = None if config.save_logfile is not None: writer = LogWriter (config.save_logfile) parser.set_content_handler (DBProxyContentHandler (db)) reader.start (new_line, (parser, writer)) parser.end () writer and writer.close () # Run extensions printout ("Executing extensions") emg.run_extensions (repo, path or uri, db)