def main(): args = parser.parse_args() states = args.states.split(',') state_mods = load_states(states) for i, s in enumerate(state_mods): state = states[i] input_path = args.input_path output_path = args.output_path state_transformer = s.transformer.StateTransformer() state_preparer = getattr(s.transformer, 'StatePreparer', BasePreparer)(input_path, state, s.transformer, state_transformer, history=args.history) if os.path.isdir(output_path): if not args.history: output_file = '{}_output.csv'.format(state) else: output_file = '{}_history_output.csv'.format(state) output_path = os.path.join(output_path, output_file) writer = CsvOutput(state_transformer) writer(state_preparer.process(), output_path, history=args.history)
def main(): args = parser.parse_args() states = args.states.split(',') state_mods = load_states(states) for i, s in enumerate(state_mods): state = states[i] input_path = args.input_path output_path = args.output_path state_transformer = s.transformer.StateTransformer() state_preparer = getattr(s.transformer, 'StatePreparer', BasePreparer)(input_path, state, s.transformer, state_transformer) if os.path.isdir(output_path): output_path = os.path.join(output_path, '%s_output.csv' % state) writer = CsvOutput(state_transformer) writer(state_preparer.process(), output_path)
def load_data(opts, conf): from national_voter_file.us_states.all import load as load_states if not opts.input_file: state = load_states([opts.state])[0] opts.input_file = os.path.join( conf['data_path'], state.transformer.StatePreparer.state_name, '{}_output.csv'.format(opts.state)) else: opts.input_file = os.path.join(conf['data_path'], opts.input_file) subprocess.call([ os.path.join(conf['pdi_path'], 'kitchen.sh'), '-file', os.path.join(conf['nvf_path'], 'src', 'main', 'pdi', 'ProcessPreparedVoterFile.kjb'), '-param:reportDate={}'.format(opts.report_date), '-param:reportFile={}'.format(opts.input_file), # TODO: Should there be a default reporter by state if not specified? '-param:reporterKey={}'.format(opts.reporter_key) ])
def run_transformer(opts, conf): from national_voter_file.transformers.base import (BasePreparer, BaseTransformer) from national_voter_file.us_states.all import load as load_states from national_voter_file.transformers.csv_transformer import CsvOutput state = load_states([opts.state])[0] state_path = state.transformer.StatePreparer.state_path input_path = os.path.join(conf['data_path'], opts.input_file) output_path = os.path.join(os.path.dirname(input_path), '{}_output.csv'.format(opts.state)) state_transformer = state.transformer.StateTransformer() state_preparer = getattr(state.transformer, 'StatePreparer', BasePreparer)(input_path, state_path, state.transformer, state_transformer) writer = CsvOutput(state_transformer) writer(state_preparer.process(), output_path)
def load_data(opts, conf): from national_voter_file.us_states.all import load as load_states if not opts.input_file: state = load_states([opts.state])[0] opts.input_file = os.path.join( conf['data_path'], state.transformer.StatePreparer.state_name, '{}_output.csv'.format(opts.state) ) else: opts.input_file = os.path.join(conf['data_path'], opts.input_file) subprocess.check_call([ os.path.join(conf['pdi_path'], 'kitchen.sh'), '-file', os.path.join(conf['nvf_path'], 'src', 'main', 'pdi', 'ProcessPreparedVoterFile.kjb'), '-param:reportDate={}'.format(opts.report_date), '-param:reportFile={}'.format(opts.input_file), # TODO: Should there be a default reporter by state if not specified? '-param:reporterKey={}'.format(opts.reporter_key) ])
TEST_DATA_DIR = os.path.join(os.path.dirname(__file__), 'test_data') TEST_STATES = ['co', 'fl', 'mi', 'nc', 'ny', 'oh', 'ok', 'pa', 'wa'] NUM_ROWS = 100 fake = Faker() # Helpers for making items empty easier def _empty(item): return random.choice([item, ' ']) def _blank(item): return random.choice([item, '']) # Obtain the information needed from individual states state_modules = load_states(TEST_STATES) CO = state_modules['co'] FL = state_modules['fl'] MI = state_modules['mi'] NY = state_modules['ny'] OH = state_modules['oh'] PA = state_modules['pa'] OK = state_modules['ok'] colorado_party_keys = CO.transformer.StateTransformer().co_party_map.keys() oklahoma_party_keys = OK.transformer.StateTransformer().oklahoma_party_map.keys() ohio_party_keys = OH.transformer.StateTransformer().ohio_party_map.keys() florida_party_keys = FL.transformer.StateTransformer().florida_party_map.keys() florida_race_keys = FL.transformer.StateTransformer().florida_race_map.keys() ny_party_keys = NY.transformer.StateTransformer().ny_party_map.keys() ny_other_party_keys = NY.transformer.StateTransformer().ny_other_party_map.keys()
def test_all_transformers(): for state_test in load_states([x.lower() for x in TEST_STATES.values()]): yield (run_state_transformer, state_test)
def test_all_transformers(): for state_test in load_states(TEST_STATES): yield (run_state_transformer, state_test)
TEST_STATES = ['de', 'co', 'fl', 'mi', 'nc', 'nj', 'ny', 'oh', 'ok', 'pa', 'ut', 'vt', 'wa'] NUM_ROWS = 100 fake = Faker() # Helpers for making items empty easier def _empty(item): return random.choice([item, ' ']) def _blank(item): return random.choice([item, '']) # Obtain the information needed from individual states state_modules = load_states(TEST_STATES) CO = state_modules['co'] FL = state_modules['fl'] MI = state_modules['mi'] NJ = state_modules['nj'] NY = state_modules['ny'] OH = state_modules['oh'] PA = state_modules['pa'] OK = state_modules['ok'] UT = state_modules['ut'] colorado_party_keys = CO.transformer.StateTransformer().co_party_map.keys() oklahoma_party_keys = OK.transformer.StateTransformer().oklahoma_party_map.keys() ohio_party_keys = OH.transformer.StateTransformer().ohio_party_map.keys() florida_party_keys = FL.transformer.StateTransformer().florida_party_map.keys() florida_race_keys = FL.transformer.StateTransformer().florida_race_map.keys()
def test_all_transformers_history(): for state_test in load_states([x.lower() for x in TEST_HISTORY.values()]): yield (run_transformer_history, state_test)