Project

General

Profile

« Previous | Next » 

Revision 6676

dict2redmine: Put the definition before and outside of the fields table

View differences:

dict2redmine
58 58
class RedmineDictWriter:
59 59
    '''Formats rows as Redmine sections containing a table'''
60 60
    
61
    def __init__(self, term_col, header, stream):
61
    def __init__(self, term_col, def_col, header, stream):
62 62
        header.pop(term_col)
63
        header.pop(def_col)
63 64
        
64 65
        self.term_col = term_col
66
        self.def_col = def_col
65 67
        self.header = header
66 68
        self.stream = stream
67 69
    
68 70
    def writerow(self, row):
69
        term = row.pop(self.term_col)
70
        self.stream.write('\nh3. '+term+'\n\n')
71
        term = row[self.term_col]
72
        def_ = row[self.def_col]
73
        self.stream.write('h3. '+term+'\n\n')
74
        if def_: self.stream.write(def_+'\n\n')
71 75
        
72 76
        table = RedmineTableWriter(self.stream)
73 77
        for i, col_name in enumerate(self.header):
74
            value = row[i]
75
            if value: table.writerow([redmine_bold(col_name), value])
78
            if i not in set([self.term_col, self.def_col]):
79
                value = row[i]
80
                if value: table.writerow([redmine_bold(col_name), value])
81
        self.stream.write('\n')
76 82

  
77 83

  
78 84
def main():
79
    try: _prog_name, term_col, sources_col = sys.argv
85
    try: _prog_name, term_col, def_col, sources_col = sys.argv
80 86
    except ValueError: raise SystemExit('Usage: '+sys.argv[0]
81
        +' <spreadsheet term_col# sources_col# >redmine')
82
    term_col, sources_col = map(int, [term_col, sources_col])
87
        +' <spreadsheet term_col# definition_col# sources_col# >redmine')
88
    term_col, def_col, sources_col = map(int, [term_col, def_col, sources_col])
83 89
    
84 90
    # Translate input
85 91
    reader = csv.reader(sys.stdin)
86 92
    header = reader.next()
87
    writer = RedmineDictWriter(term_col, header, sys.stdout)
93
    writer = RedmineDictWriter(term_col, def_col, header, sys.stdout)
88 94
    for row in reader:
89 95
        term = row[term_col]
90 96
        sources = row[sources_col].split(source_sep)

Also available in: Unified diff