Added the disassemble_pyc tool.

This commit is contained in:
Andrew Hamilton 2016-02-10 19:30:30 +00:00
parent 6807711384
commit 1106819e42
4 changed files with 8 additions and 3 deletions

4
TODO
View file

@ -1,5 +1,4 @@
Todo
- Test the tools.
- Publish. pypi and github will do.
- docs?, setup.py?, wheel?, __pkginfo__.py?
- Maybe also use cxfreeze, py2exe, pyrun or zipapp? Is zipapp the standard way?
@ -159,7 +158,8 @@ Done
- Don't let the user scroll indefinately below the end of the page.
- Add command line options, e.g. -h
- Boilerplate: Readme, usage
- Test the tools.
<- All the existing tools now have basic tests.
A-syntax, B-tests, C-auto docs, D-lint, E-coverage, F-profile, G-tidy, H-import deps
A B C D E F G H

Binary file not shown.

View file

@ -396,7 +396,8 @@ def python_tidy(path): # Deps: found on internet?
def disassemble_pyc(path):
bytecode = open(path, "rb").read()
with open(path, "rb") as file_:
bytecode = file_.read()
stringio = io.StringIO()
dis.dis(bytecode, file=stringio)
stringio.seek(0)

View file

@ -106,6 +106,10 @@ class ToolsTestCase(unittest.TestCase):
def test_python_mccable(self):
self._test_tool(tools.python_mccabe, self.HI_OK)
def test_disassemble_pyc(self):
self._test_tool(tools.disassemble_pyc,
[("hi3.cpython-34.pyc", tools.Status.normal)])
def test_perl_syntax(self):
self._test_tool(tools.perl_syntax, [("perl.pl", tools.Status.ok)])