summaryrefslogtreecommitdiff
path: root/lab/show_pyc.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2013-09-11 20:56:38 -0400
committerNed Batchelder <ned@nedbatchelder.com>2013-09-11 20:56:38 -0400
commitee08f60231fcd609f14c86b860d7602bbd7a294f (patch)
tree96551d799a863fde1b56f267d81d4bf1de3755cd /lab/show_pyc.py
parentbcbe9da43a5e6564a33ec3d78098393cb5ecb3d0 (diff)
downloadpython-coveragepy-git-ee08f60231fcd609f14c86b860d7602bbd7a294f.tar.gz
Fix some line endings and whitespace.
Diffstat (limited to 'lab/show_pyc.py')
-rw-r--r--lab/show_pyc.py140
1 files changed, 70 insertions, 70 deletions
diff --git a/lab/show_pyc.py b/lab/show_pyc.py
index 7dacc2b0..b2cbb342 100644
--- a/lab/show_pyc.py
+++ b/lab/show_pyc.py
@@ -1,70 +1,70 @@
-import dis, marshal, struct, sys, time, types
-
-def show_pyc_file(fname):
- f = open(fname, "rb")
- magic = f.read(4)
- moddate = f.read(4)
- modtime = time.asctime(time.localtime(struct.unpack('L', moddate)[0]))
- print "magic %s" % (magic.encode('hex'))
- print "moddate %s (%s)" % (moddate.encode('hex'), modtime)
- code = marshal.load(f)
- show_code(code)
-
-def show_py_file(fname):
- text = open(fname).read().replace('\r\n', '\n')
- show_py_text(text, fname=fname)
-
-def show_py_text(text, fname="<string>"):
- code = compile(text, fname, "exec")
- show_code(code)
-
-def show_code(code, indent=''):
- print "%scode" % indent
- indent += ' '
- print "%sargcount %d" % (indent, code.co_argcount)
- print "%snlocals %d" % (indent, code.co_nlocals)
- print "%sstacksize %d" % (indent, code.co_stacksize)
- print "%sflags %04x" % (indent, code.co_flags)
- show_hex("code", code.co_code, indent=indent)
- dis.disassemble(code)
- print "%sconsts" % indent
- for const in code.co_consts:
- if type(const) == types.CodeType:
- show_code(const, indent+' ')
- else:
- print " %s%r" % (indent, const)
- print "%snames %r" % (indent, code.co_names)
- print "%svarnames %r" % (indent, code.co_varnames)
- print "%sfreevars %r" % (indent, code.co_freevars)
- print "%scellvars %r" % (indent, code.co_cellvars)
- print "%sfilename %r" % (indent, code.co_filename)
- print "%sname %r" % (indent, code.co_name)
- print "%sfirstlineno %d" % (indent, code.co_firstlineno)
- show_hex("lnotab", code.co_lnotab, indent=indent)
-
-def show_hex(label, h, indent):
- h = h.encode('hex')
- if len(h) < 60:
- print "%s%s %s" % (indent, label, h)
- else:
- print "%s%s" % (indent, label)
- for i in range(0, len(h), 60):
- print "%s %s" % (indent, h[i:i+60])
-
-def show_file(fname):
- if fname.endswith('pyc'):
- show_pyc_file(fname)
- elif fname.endswith('py'):
- show_py_file(fname)
- else:
- print "Odd file:", fname
-
-def main(args):
- if args[0] == '-c':
- show_py_text(" ".join(args[1:]).replace(";", "\n"))
- else:
- for a in args:
- show_file(a)
-
-if __name__ == '__main__':
- main(sys.argv[1:])
+import dis, marshal, struct, sys, time, types
+
+def show_pyc_file(fname):
+ f = open(fname, "rb")
+ magic = f.read(4)
+ moddate = f.read(4)
+ modtime = time.asctime(time.localtime(struct.unpack('L', moddate)[0]))
+ print "magic %s" % (magic.encode('hex'))
+ print "moddate %s (%s)" % (moddate.encode('hex'), modtime)
+ code = marshal.load(f)
+ show_code(code)
+
+def show_py_file(fname):
+ text = open(fname).read().replace('\r\n', '\n')
+ show_py_text(text, fname=fname)
+
+def show_py_text(text, fname="<string>"):
+ code = compile(text, fname, "exec")
+ show_code(code)
+
+def show_code(code, indent=''):
+ print "%scode" % indent
+ indent += ' '
+ print "%sargcount %d" % (indent, code.co_argcount)
+ print "%snlocals %d" % (indent, code.co_nlocals)
+ print "%sstacksize %d" % (indent, code.co_stacksize)
+ print "%sflags %04x" % (indent, code.co_flags)
+ show_hex("code", code.co_code, indent=indent)
+ dis.disassemble(code)
+ print "%sconsts" % indent
+ for const in code.co_consts:
+ if type(const) == types.CodeType:
+ show_code(const, indent+' ')
+ else:
+ print " %s%r" % (indent, const)
+ print "%snames %r" % (indent, code.co_names)
+ print "%svarnames %r" % (indent, code.co_varnames)
+ print "%sfreevars %r" % (indent, code.co_freevars)
+ print "%scellvars %r" % (indent, code.co_cellvars)
+ print "%sfilename %r" % (indent, code.co_filename)
+ print "%sname %r" % (indent, code.co_name)
+ print "%sfirstlineno %d" % (indent, code.co_firstlineno)
+ show_hex("lnotab", code.co_lnotab, indent=indent)
+
+def show_hex(label, h, indent):
+ h = h.encode('hex')
+ if len(h) < 60:
+ print "%s%s %s" % (indent, label, h)
+ else:
+ print "%s%s" % (indent, label)
+ for i in range(0, len(h), 60):
+ print "%s %s" % (indent, h[i:i+60])
+
+def show_file(fname):
+ if fname.endswith('pyc'):
+ show_pyc_file(fname)
+ elif fname.endswith('py'):
+ show_py_file(fname)
+ else:
+ print "Odd file:", fname
+
+def main(args):
+ if args[0] == '-c':
+ show_py_text(" ".join(args[1:]).replace(";", "\n"))
+ else:
+ for a in args:
+ show_file(a)
+
+if __name__ == '__main__':
+ main(sys.argv[1:])