summaryrefslogtreecommitdiff
path: root/sys/src/cmd/python/Doc/tools/refcounts.py
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2021-06-14 00:00:37 +0000
committerOri Bernstein <ori@eigenstate.org>2021-06-14 00:00:37 +0000
commita73a964e51247ed169d322c725a3a18859f109a3 (patch)
tree3f752d117274d444bda44e85609aeac1acf313f3 /sys/src/cmd/python/Doc/tools/refcounts.py
parente64efe273fcb921a61bf27d33b230c4e64fcd425 (diff)
downloadplan9front-a73a964e51247ed169d322c725a3a18859f109a3.tar.xz
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/Doc/tools/refcounts.py')
-rw-r--r--sys/src/cmd/python/Doc/tools/refcounts.py98
1 files changed, 0 insertions, 98 deletions
diff --git a/sys/src/cmd/python/Doc/tools/refcounts.py b/sys/src/cmd/python/Doc/tools/refcounts.py
deleted file mode 100644
index 31cfe909e..000000000
--- a/sys/src/cmd/python/Doc/tools/refcounts.py
+++ /dev/null
@@ -1,98 +0,0 @@
-"""Support functions for loading the reference count data file."""
-__version__ = '$Revision: 35267 $'
-
-import os
-import sys
-
-
-# Determine the expected location of the reference count file:
-try:
- p = os.path.dirname(__file__)
-except NameError:
- p = os.path.dirname(sys.argv[0])
-p = os.path.normpath(os.path.join(os.getcwd(), p, os.pardir,
- "api", "refcounts.dat"))
-DEFAULT_PATH = p
-del p
-
-
-def load(path=DEFAULT_PATH):
- return loadfile(open(path))
-
-
-def loadfile(fp):
- d = {}
- while 1:
- line = fp.readline()
- if not line:
- break
- line = line.strip()
- if line[:1] in ("", "#"):
- # blank lines and comments
- continue
- parts = line.split(":", 4)
- if len(parts) != 5:
- raise ValueError("Not enough fields in %r" % line)
- function, type, arg, refcount, comment = parts
- if refcount == "null":
- refcount = None
- elif refcount:
- refcount = int(refcount)
- else:
- refcount = None
- #
- # Get the entry, creating it if needed:
- #
- try:
- entry = d[function]
- except KeyError:
- entry = d[function] = Entry(function)
- #
- # Update the entry with the new parameter or the result information.
- #
- if arg:
- entry.args.append((arg, type, refcount))
- else:
- entry.result_type = type
- entry.result_refs = refcount
- return d
-
-
-class Entry:
- def __init__(self, name):
- self.name = name
- self.args = []
- self.result_type = ''
- self.result_refs = None
-
-
-def dump(d):
- """Dump the data in the 'canonical' format, with functions in
- sorted order."""
- items = d.items()
- items.sort()
- first = 1
- for k, entry in items:
- if first:
- first = 0
- else:
- print
- s = entry.name + ":%s:%s:%s:"
- if entry.result_refs is None:
- r = ""
- else:
- r = entry.result_refs
- print s % (entry.result_type, "", r)
- for t, n, r in entry.args:
- if r is None:
- r = ""
- print s % (t, n, r)
-
-
-def main():
- d = load()
- dump(d)
-
-
-if __name__ == "__main__":
- main()