From 7d1ecf957c747cdab10cd5bffcf5bf20c108cc9a Mon Sep 17 00:00:00 2001 From: rocky Date: Wed, 19 Sep 2018 08:41:02 -0400 Subject: [PATCH 1/2] Not sure why this is here, but fix it so it works. --- test/simple-uncompyle-code-test.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/simple-uncompyle-code-test.py b/test/simple-uncompyle-code-test.py index 732084e5..8958ea36 100755 --- a/test/simple-uncompyle-code-test.py +++ b/test/simple-uncompyle-code-test.py @@ -2,14 +2,15 @@ from __future__ import print_function -from uncompyle6 import uncompyle +from uncompyle6.main import decompile +from xdis.magics import sysinfo2float import sys, inspect def uncompyle_test(): frame = inspect.currentframe() try: co = frame.f_code - uncompyle(2.7, co, sys.stdout, 1, 1) + decompile(sysinfo2float(), co, sys.stdout, 1, 1) print() finally: del frame From 1cb31a85fd67fbfd9d17dc1700a5551812774dce Mon Sep 17 00:00:00 2001 From: rocky Date: Wed, 19 Sep 2018 15:20:23 -0400 Subject: [PATCH 2/2] decompile bytecode_version defaults to Python intepreter version Fixes #189 --- uncompyle6/main.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/uncompyle6/main.py b/uncompyle6/main.py index 6d0bf61f..c95ae271 100644 --- a/uncompyle6/main.py +++ b/uncompyle6/main.py @@ -17,6 +17,7 @@ import datetime, os, subprocess, sys, tempfile from uncompyle6 import verify, IS_PYPY, PYTHON_VERSION from xdis.code import iscode +from xdis.magics import sysinfo2float from uncompyle6.disas import check_object_path from uncompyle6.semantics import pysource from uncompyle6.parser import ParserError @@ -52,8 +53,14 @@ def decompile( """ ingests and deparses a given code block 'co' + if `bytecode_version` is None, use the current Python intepreter + version. + Caller is responsible for closing `out` and `mapstream` """ + if bytecode_version is None: + bytecode_version = sysinfo2float() + # store final output stream for case of error real_out = out or sys.stdout