From bca623c53c7468d8ad4bdb1fe105b8b42624e5e6 Mon Sep 17 00:00:00 2001 From: rocky Date: Sat, 9 Nov 2024 06:10:10 -0500 Subject: [PATCH 1/2] Allow for newer spark-parser --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index b8e8c462..dcee5ab1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,7 @@ name = "uncompyle6" description = "Python cross-version byte-code library and disassembler" dependencies = [ "click", - "spark-parser >= 1.8.9, < 1.9.1", + "spark-parser >= 1.8.9, < 1.9.2", "xdis >= 6.1.0, < 6.2.0", ] readme = "README.rst" From 7fd642c70e20aeee028d841d7088bc2478b89425 Mon Sep 17 00:00:00 2001 From: rocky Date: Sat, 9 Nov 2024 06:28:41 -0500 Subject: [PATCH 2/2] bytes/string tolerance for 3.3 --- uncompyle6/semantics/helper.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/uncompyle6/semantics/helper.py b/uncompyle6/semantics/helper.py index 78998bec..0ff4b419 100644 --- a/uncompyle6/semantics/helper.py +++ b/uncompyle6/semantics/helper.py @@ -153,7 +153,12 @@ def is_lambda_mode(compile_mode: str) -> bool: def print_docstring(self, indent, docstring): if isinstance(docstring, bytes): - docstring = docstring.decode("utf8", errors="backslashreplace") + try: + docstring_try = docstring.decode("utf8", errors="backslashreplace") + except Exception: + docstring = str(docstring) + else: + docstring = docstring_try quote = '"""' if docstring.find(quote) >= 0: