aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xpython/etatsbasen.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/python/etatsbasen.py b/python/etatsbasen.py
index 9db040f..f56102a 100755
--- a/python/etatsbasen.py
+++ b/python/etatsbasen.py
@@ -10,7 +10,7 @@ VERSION="python-etatsbasen-v0.1"
DEFAULT_CATEGORIES = "12,14,17,18,27,33,38,66,68,76"
DEFAULT_FILENAME = "etatsbasen-small.csv" # "etatsbasen.csv"
-DEFAULT_COLUMNS = "url_nb,url_en,kommunenummer,orgid,orgstructid,parentid";
+DEFAULT_COLUMNS = ["url_nb","url_en","kommunenummer","orgid","orgstructid","parentid"];
RENAME_HEADERS = {
'tailid': 'id',
@@ -110,10 +110,9 @@ if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Tool for exporting etatsbasen-data to a file that can be imported into alaveteli.')
parser.add_argument('-c', metavar="all|c1[,c2,c3,..]", default=DEFAULT_CATEGORIES, help="Categories to include (default: \"%s\")" % (DEFAULT_CATEGORIES))
parser.add_argument('-f', metavar="file", default=DEFAULT_FILENAME, help="File to read from (default: \"%s\")" % (DEFAULT_FILENAME))
- parser.add_argument('-o', metavar="all|headerName1[,headername2,...] ", default=DEFAULT_COLUMNS, help="Include only these headers/columns in output (post-rename)(default: \"%s\")" % (DEFAULT_COLUMNS))
+ parser.add_argument('-o', action='append', metavar="-o headerName1 [-o headername2 ...] ", help="Include only these headers/columns in output (post-rename)(default: \"%s\")" % (DEFAULT_COLUMNS))
parser.add_argument('-v', help="Print version (%s) and exit" % (VERSION), action='store_true')
args = parser.parse_args()
-
options = {}
if args.v:
@@ -126,10 +125,15 @@ if __name__ == "__main__":
print("%s: No such file" % (args.f), file=sys.stderr)
sys.exit(0)
- if args.o == "all":
- options["headers"] = ["all"]
+ if args.o:
+ for value in args.o:
+ if "," in value:
+ # Hard fail if someone uses old syntax
+ print("Failed to parse \"-o %s\"; Old syntax with comma separated list not supported" % (" -o ".join(args.o)), file=sys.stderr)
+ sys.exit(0)
+ options["headers"] = args.o
else:
- options["headers"] = args.o.split(',')
+ options["headers"] = DEFAULT_COLUMNS
try:
if args.c == "all":
@@ -139,5 +143,5 @@ if __name__ == "__main__":
except ValueError as ve:
print("Failed to parse \"-c %s\"; Categories must comma separated list of only integers" % (args.c), file=sys.stderr)
sys.exit(0)
-
+
printCSV(options)