def parse_dispatch(codebook, codebook_format, delimiter): """ Dispatch to specific parser :codebook: codebook file :codebook_format: denotes type of codebook, i.e. 'occams' :delimiter: delimiter used in the codebook file :return: list of dictionaries...a dictionary denotes a row from the csv """ if delimiter == u'comma': delimiter = ',' elif delimiter == u'tab': delimiter = '\t' if codebook_format == u'iform': codebook = iform_json.convert(codebook) elif codebook_format == u'qds': codebook = convert_qds_to_occams.convert( codebook, delimiter=delimiter) parsed = parse(codebook, delimiter=delimiter) return parsed
def test_convert(datadir): codebook = datadir.join('iform_input_fixture.json').open() converted = iform_json.convert(codebook) reader = csv.DictReader(converted, encoding='utf-8', delimiter=',') for row in reader: assert row['form'] == u'test_595_hiv_test_v04' assert row['title'] == u'Test label.' converted.close()
def test_convert(): from pkg_resources import resource_filename codebook = open( resource_filename('tests.fixtures', 'iform_input_fixture.json'), 'r') converted = iform_json.convert(codebook) reader = csv.DictReader(converted, encoding='utf-8', delimiter=',') for row in reader: assert row['form'] == u'test_595_hiv_test_v04' assert row['title'] == u'Test label.' converted.close()