Don't make complicated subprocess calls for version info comparisons

This commit is contained in:
Dave Halter
2018-12-15 17:10:40 +01:00
parent 46da1df5ae
commit 90a28c7b1e

View File

@@ -10,6 +10,7 @@ from jedi import debug
from jedi import parser_utils from jedi import parser_utils
from jedi.evaluate.base_context import ContextSet, NO_CONTEXTS, ContextualizedNode, \ from jedi.evaluate.base_context import ContextSet, NO_CONTEXTS, ContextualizedNode, \
ContextualizedName, iterator_to_context_set, iterate_contexts ContextualizedName, iterator_to_context_set, iterate_contexts
from jedi.evaluate.lazy_context import LazyTreeContext
from jedi.evaluate import compiled from jedi.evaluate import compiled
from jedi.evaluate import pep0484 from jedi.evaluate import pep0484
from jedi.evaluate import recursion from jedi.evaluate import recursion
@@ -440,18 +441,15 @@ def _get_tuple_ints(context):
return None return None
numbers = [] numbers = []
for lazy_context in context.py__iter__(): for lazy_context in context.py__iter__():
result = lazy_context.infer() if not isinstance(lazy_context, LazyTreeContext):
return None
node = lazy_context.data
if node.type != 'number':
return None
try: try:
number, = result # Must be exactly one element numbers.append(int(node.value))
except ValueError: except ValueError:
return None return None
if not isinstance(number, compiled.CompiledValue):
return None
value = number.get_safe_value()
if not isinstance(value, int):
return None
numbers.append(value)
return numbers return numbers