From 760f9005606fc3914b0800b6903a0537ddc82d17 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 3 Dec 2016 13:41:55 +0100 Subject: [PATCH] Fix a python3 issue with py__file__. --- jedi/evaluate/compiled/__init__.py | 5 ++++- jedi/evaluate/representation.py | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/jedi/evaluate/compiled/__init__.py b/jedi/evaluate/compiled/__init__.py index 66d17840..1f6b14e9 100644 --- a/jedi/evaluate/compiled/__init__.py +++ b/jedi/evaluate/compiled/__init__.py @@ -85,7 +85,10 @@ class CompiledObject(Context): return bool(self.obj) def py__file__(self): - return self.obj.__file__ + try: + return self.obj.__file__ + except AttributeError: + return None def is_class(self): return inspect.isclass(self.obj) diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index 00a0316d..47d73837 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -26,7 +26,8 @@ py__iter__() Returns a generator of a set of types. py__class__() Returns the class of an instance. py__getitem__(index: int/str) Returns a a set of types of the index. Can raise an IndexError/KeyError. -py__file__() Only on modules. +py__file__() Only on modules. Returns None if does + not exist. py__package__() Only on modules. For the import system. py__path__() Only on modules. For the import system. ====================================== ========================================