Project

General

Profile

1 1778 aaronmk
#!/usr/bin/env python
2
# Makes a source map spreadsheet from a CSV header
3
4
import csv
5
import os.path
6
import sys
7
8
sys.path.append(os.path.dirname(__file__)+"/../lib")
9
10
import csvs
11
import opts
12
13
def main():
14
    # Usage
15
    env_names = []
16
    def usage_err():
17
        raise SystemExit('Usage: '+opts.env_usage(env_names)+' '+sys.argv[0]
18
            +' <header >src_map')
19
20
    # Get config from env vars
21
    datasrc = opts.get_env_var('datasrc', None, env_names)
22 3569 aaronmk
    out_root = opts.get_env_var('out_root', None, env_names)
23
    in_root_suffix = opts.get_env_var('in_root_suffix', '', env_names)
24 10077 aaronmk
    new_term_prefix = opts.get_env_var('new_term_prefix', '*', env_names)
25 3569 aaronmk
    if datasrc == None or out_root == None: usage_err()
26 1778 aaronmk
27
    # Get col names
28 7653 aaronmk
    reader, col_names = csvs.reader_and_header(open('/dev/stdin', 'rU'))
29 1778 aaronmk
30
    # Write map spreadsheet
31
    writer = csv.writer(sys.stdout)
32 4673 aaronmk
    writer.writerow([datasrc+in_root_suffix, out_root, 'Filter', 'Comments'])
33 1778 aaronmk
    for col_name in col_names:
34 4979 aaronmk
        writer.writerow([col_name, new_term_prefix+col_name, '', ''])
35 1778 aaronmk
36
main()