newfol/newfol-cvt-dbmem
brian m. carlson efaefd32a5 Initial commit.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
2011-09-02 17:38:53 +00:00

42 lines
1 KiB
Python
Executable file

#! /usr/bin/python3
import filemanip
import re
import sys
def filter_dbmem(rec):
if len(rec.fields) < 3:
return None
if ";" not in rec.fields[1]:
return None
(date, purview) = re.split(";\s*", rec.fields[1], 1)
fields = [""] * 16
fields[6] = rec.fields[0]
fields[5] = rec.fields[2]
fields[11] = purview
fields[0] = date
return Record(fields)
def call_filter(dtbname, recs):
final = []
for rec in recs:
if rec.fields[0].startswith("#"):
continue
if dtbname == "dbmem":
return filter_dbmem(rec)
else:
raise ValueError("no such filter for database")
result = filter_dbmem(rec)
if result is not None:
final.append(result)
return final
def main(args):
recs = filemanip.FileStorage('csv', "/dev/stdin").load()
if len(args) == 0:
raise ValueError("need a type of database")
dtbname = args[0]
call_filter(dtbname, recs)
filemanip.FileStorage('csv', "/dev/stdout").store(recs)
main(sys.argv[1:])