diff --git a/uncompyle6/parser.py b/uncompyle6/parser.py index 957df8f6..c35febad 100644 --- a/uncompyle6/parser.py +++ b/uncompyle6/parser.py @@ -644,6 +644,8 @@ def get_python_parser( if isinstance(version, str): version = tuple([int(v) for v in version.split(".")[:2]]) + version = version[:2] + # FIXME: there has to be a better way... # We could do this as a table lookup, but that would force us # in import all of the parsers all of the time. Perhaps there is diff --git a/uncompyle6/parsers/parse37base.py b/uncompyle6/parsers/parse37base.py index 6d9f8498..a4a1650b 100644 --- a/uncompyle6/parsers/parse37base.py +++ b/uncompyle6/parsers/parse37base.py @@ -209,7 +209,7 @@ class Python37BaseParser(PythonParser): stmt ::= async_with_as_stmt """ - if self.version < 3.8: + if self.version < (3, 8): rules_str += """ stmt ::= async_with_stmt SETUP_ASYNC_WITH c_stmt ::= c_async_with_stmt SETUP_ASYNC_WITH diff --git a/uncompyle6/semantics/customize26_27.py b/uncompyle6/semantics/customize26_27.py index a57920a8..ee50bb21 100644 --- a/uncompyle6/semantics/customize26_27.py +++ b/uncompyle6/semantics/customize26_27.py @@ -1,4 +1,4 @@ -# Copyright (c) 2019 by Rocky Bernstein +# Copyright (c) 2019 2021 by Rocky Bernstein # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ def customize_for_version26_27(self, version): # For 2.6 we use the older syntax which # matches how we parse this in bytecode ######################################## - if version > 2.6: + if version > (2, 6): TABLE_DIRECT.update({ 'except_cond2': ( '%|except %c as %c:\n', 1, 5 ), # When a generator is a single parameter of a function,