Add CSV generator tool

This commit is contained in:
Jonas Wielicki 2018-04-05 14:55:49 +02:00
parent e3560d71e6
commit d8ed29765f
1 changed files with 54 additions and 0 deletions

54
tools/xeplist-to-csv.py Normal file
View File

@ -0,0 +1,54 @@
#!/usr/bin/python3
import csv
import sys
import xml.etree.ElementTree as etree
from xeplib import load_xepinfos
def main():
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
"-l", "--xeplist",
type=argparse.FileType("rb"),
default=None,
help="XEP list to use (defaults to ./build/xeplist.xml)"
)
parser.add_argument(
"-d", "--dialect",
default="unix",
)
parser.add_argument(
"outfile",
)
args = parser.parse_args()
if args.xeplist is None:
args.xeplist = open("./build/xeplist.xml", "rb")
with args.xeplist as f:
tree = etree.parse(f)
accepted, _ = load_xepinfos(tree)
with open(args.outfile, "w") as f:
writer = csv.writer(f, args.dialect)
for number, info in sorted(accepted.items()):
writer.writerow([
number,
info["title"],
info["status"].value,
info["last_revision"]["date"].date(),
info["last_revision"]["version"],
])
if __name__ == "__main__":
main()