From 6748faa071ebc667a5ca2003300a1e44fdca0254 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Sat, 5 May 2018 19:18:14 +0200 Subject: [PATCH] Fix _get_numpy_doc_string_cls: use cache I've noticed that Jedi tries to import numpydoc a lot when using jedi-vim's goto method in jedi_vim.py itself (via printing in Neovim's VimPathFinder.find_spec). This patch uses the cache before trying the import again and again. --- jedi/evaluate/docstrings.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jedi/evaluate/docstrings.py b/jedi/evaluate/docstrings.py index 431de21f..86b56673 100644 --- a/jedi/evaluate/docstrings.py +++ b/jedi/evaluate/docstrings.py @@ -47,13 +47,14 @@ _numpy_doc_string_cache = None def _get_numpy_doc_string_cls(): global _numpy_doc_string_cache + if isinstance(_numpy_doc_string_cache, ImportError): + raise _numpy_doc_string_cache try: from numpydoc.docscrape import NumpyDocString _numpy_doc_string_cache = NumpyDocString except ImportError as e: _numpy_doc_string_cache = e - if isinstance(_numpy_doc_string_cache, ImportError): - raise _numpy_doc_string_cache + raise return _numpy_doc_string_cache