Project

General

Profile

« Previous | Next » 

Revision 49

Added refactored mappings and changed data2xml to use the new 2-column format

View differences:

data2xml
12 12
import xpath
13 13

  
14 14
def main():
15
    prog_name = sys.argv.pop(0)
16
    try:
17
        dest = sys.argv.pop(0)
18
        mappings_path = sys.argv.pop(0)
19
    except IndexError: raise Exception('Usage: '+prog_name
20
        +' dest_mappings_column mappings_path <dataset >output')
15
    prog_name = sys.argv[0]
16
    try: mappings_path = sys.argv[1]
17
    except ValueError:
18
        raise Exception('Usage: '+prog_name+' mappings_path <dataset >output')
21 19
    
22 20
    # Get mappings
23 21
    mappings = {}
24 22
    has_types = False # whether outer elements are type containiners
25 23
    stream = open(mappings_path, 'rb')
26 24
    reader = csv.reader(stream, delimiter=',', quotechar='"')
27
    fieldnames = reader.next()
28
    src = fieldnames[0]
29
    dest_idx = fieldnames.index(dest)
25
    src, dest = reader.next()[:2]
30 26
    for row in reader:
31
        name = row[0]
32
        path = row[dest_idx]
27
        name, path = row[:2]
33 28
        if name != '' and path != '':
34 29
            if path.startswith('/*s/'): has_types = True # *s used for type elem
35 30
            path = path.replace('<name>', name)

Also available in: Unified diff