annotate contrib/tools/org_to_csv @ 1461:a86eb3375b95

add csv_to_fd, org_to_csv tools csv_to_fd converts CSV files containing RADIUS or Diameter AVP tables into various formats, including freeDiameter C code and JSON documents. org_to_csv converts org files into CSV files, suitable for csv_to_fd.
author Luke Mewburn <luke@mewburn.net>
date Mon, 09 Mar 2020 21:24:24 +1100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1461
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
1 #!/usr/bin/env python
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
2
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
3 """
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
4 Convert |-separated 11-column .org files to CSV,
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
5 with first and last empty columns ignored.
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
6 """
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
7
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
8 import csv
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
9 import fileinput
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
10 import re
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
11 import sys
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
12
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
13 csvout = csv.writer(sys.stdout)
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
14 for line in fileinput.input():
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
15 row = re.split(r'\s*\|\s*', line)
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
16 row.extend([''] * (10 - len(row)))
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
17 csvout.writerow(row[1:10])
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
18
a86eb3375b95 add csv_to_fd, org_to_csv tools
Luke Mewburn <luke@mewburn.net>
parents:
diff changeset
19 # vim: set et sw=4 sts=4 :
"Welcome to our mercurial repository"