diff options
author | Ori Bernstein <ori@eigenstate.org> | 2021-06-14 00:00:37 +0000 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2021-06-14 00:00:37 +0000 |
commit | a73a964e51247ed169d322c725a3a18859f109a3 (patch) | |
tree | 3f752d117274d444bda44e85609aeac1acf313f3 /sys/src/cmd/python/Tools/scripts/parseentities.py | |
parent | e64efe273fcb921a61bf27d33b230c4e64fcd425 (diff) |
python, hg: tow outside the environment.
they've served us well, and can ride off into the sunset.
Diffstat (limited to 'sys/src/cmd/python/Tools/scripts/parseentities.py')
-rwxr-xr-x | sys/src/cmd/python/Tools/scripts/parseentities.py | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/sys/src/cmd/python/Tools/scripts/parseentities.py b/sys/src/cmd/python/Tools/scripts/parseentities.py deleted file mode 100755 index cf4e17c1f..000000000 --- a/sys/src/cmd/python/Tools/scripts/parseentities.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/local/bin/python -""" Utility for parsing HTML entity definitions available from: - - http://www.w3.org/ as e.g. - http://www.w3.org/TR/REC-html40/HTMLlat1.ent - - Input is read from stdin, output is written to stdout in form of a - Python snippet defining a dictionary "entitydefs" mapping literal - entity name to character or numeric entity. - - Marc-Andre Lemburg, mal@lemburg.com, 1999. - Use as you like. NO WARRANTIES. - -""" -import re,sys -import TextTools - -entityRE = re.compile('<!ENTITY +(\w+) +CDATA +"([^"]+)" +-- +((?:.|\n)+?) *-->') - -def parse(text,pos=0,endpos=None): - - pos = 0 - if endpos is None: - endpos = len(text) - d = {} - while 1: - m = entityRE.search(text,pos,endpos) - if not m: - break - name,charcode,comment = m.groups() - d[name] = charcode,comment - pos = m.end() - return d - -def writefile(f,defs): - - f.write("entitydefs = {\n") - items = defs.items() - items.sort() - for name,(charcode,comment) in items: - if charcode[:2] == '&#': - code = int(charcode[2:-1]) - if code < 256: - charcode = "'\%o'" % code - else: - charcode = repr(charcode) - else: - charcode = repr(charcode) - comment = TextTools.collapse(comment) - f.write(" '%s':\t%s, \t# %s\n" % (name,charcode,comment)) - f.write('\n}\n') - -if __name__ == '__main__': - if len(sys.argv) > 1: - infile = open(sys.argv[1]) - else: - infile = sys.stdin - if len(sys.argv) > 2: - outfile = open(sys.argv[2],'w') - else: - outfile = sys.stdout - text = infile.read() - defs = parse(text) - writefile(outfile,defs) |