diff --git a/tools/makeent.py b/tools/makeent.py new file mode 100644 index 00000000..84489234 --- /dev/null +++ b/tools/makeent.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python3 +import html +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("r"), + default=None, + ) + parser.add_argument( + "xeps", + metavar="NUM", + type=int, + nargs="+", + ) + + args = parser.parse_args() + + if args.xeplist is None: + args.xeplist = open("build/xeplist.xml", "r") + + with args.xeplist as f: + tree = etree.parse(f) + + accepted, _ = load_xepinfos(tree) + + for num in args.xeps: + info = accepted[num] + print( + """""" + """{title} (XEP-{number:04d}) """ + """XEP-{number:04d}: {title} <""" + """{url}>." >""".format( + title=html.escape(info["title"]), + number=num, + url="https://xmpp.org/extensions/xep-{:04d}.html".format( + num, + ) + ) + ) + +if __name__ == "__main__": + main()