/usr/share/pyshared/quixote/ptlc_dump.py is in python-quixote1 1.2-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #! /usr/bin/python
"""
Dump the information contained in a compiled PTL file. Based on the
dumppyc.py script in the Tools/compiler directory of the Python
distribution.
"""
__revision__ = "$Id: ptlc_dump.py 20217 2003-01-16 20:51:53Z akuchlin $"
import marshal
import dis
import types
from ptl_compile import PTLC_MAGIC
def dump(obj):
print obj
for attr in dir(obj):
print "\t", attr, repr(getattr(obj, attr))
def loadCode(path):
f = open(path)
magic = f.read(len(PTLC_MAGIC))
if magic != PTLC_MAGIC:
raise ValueError, 'bad .ptlc magic for file "%s"' % path
mtime = marshal.load(f)
co = marshal.load(f)
f.close()
return co
def walk(co, match=None):
if match is None or co.co_name == match:
dump(co)
print
dis.dis(co)
for obj in co.co_consts:
if type(obj) == types.CodeType:
walk(obj, match)
def main(filename, codename=None):
co = loadCode(filename)
walk(co, codename)
if __name__ == "__main__":
import sys
if len(sys.argv) == 3:
filename, codename = sys.argv[1:]
else:
filename = sys.argv[1]
codename = None
main(filename, codename)
|