def _server_helper(repo: Dolt, request): repo.sql_server() @retry(delay=2, tries=10, exceptions=( sqlalchemy.exc.OperationalError, sqlalchemy.exc.DatabaseError, sqlalchemy.exc.InterfaceError, )) def verify_connection(): conn = repo.get_engine().connect() conn.close() return repo.get_engine() def finalize(): if repo.server: repo.sql_server_stop() verify_connection() request.addfinalizer(finalize)
def main(): parser = argparse.ArgumentParser() parser.add_argument('--state', type=str, help='State to load data for', required=True) parser.add_argument('--load-data', ) parser.add_argument('--dolt-dir', type=str, help='Dolt repo directory') parser.add_argument('--start-dolt-server', action='store_true') args = parser.parse_args() repo = Dolt(args.dolt_dir) if args.start_dolt_server: logger.info('start-dolt-server detected, starting server sub process') repo.sql_server(loglevel='trace') state_metadata = build_metadata_helper(args.state) load_to_dolt(repo, 'national_voting_data', VOTING_DATA_PKS, state_metadata, filepath_to_precinct_file, extract_precinct_voting_data)
} } candidate_map = { 'Hillary Clinton / Tim Kaine': 'HILLARY CLINTON', 'Donald J. Trump / Michael R. Pence': 'DONALD TRUMP', 'Alyson Kennedy / Osborne Hart': 'ALLYSON KENNEDY', 'Gloria Estela La Riva / Eugene Puryear': 'GLORIA LA RIVA', 'Jill Stein / Ajamu Baraka': 'JILL STEIN', 'Darrell L. Castle / Scott N. Bradley': 'DARRELL CASTLE', 'Gary Johnson / Bill Weld': 'GARY JOHNSON', } repo = Dolt('/Users/timse/dolthub/dolt/us-president-precinct-results') repo.sql_server() connection = mysql.connector.connect(user='******', host="127.0.0.1", port=3306, database='us_president_precinct_results') cursor = connection.cursor(prepared=True) # Need to turn autocommit on because mysql.connector turns it off by default cursor.execute('SET @@autocommit = 1') with open(csv_2016, newline='') as csvhandle: csvreader = csv.reader(csvhandle) header = next(csvreader)