diff options
-rw-r--r-- | isort/finders.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/isort/finders.py b/isort/finders.py index c419bec8..e250cfa1 100644 --- a/isort/finders.py +++ b/isort/finders.py @@ -297,11 +297,20 @@ class RequirementsFinder(ReqsBaseFinder): def _get_names(self, path): """Load required packages from path to requirements file """ + return RequirementsFinder._get_names_cached(path) + + @classmethod + @lru_cache(maxsize=16) + def _get_names_cached(cls, path): + results = [] + with chdir(os.path.dirname(path)): requirements = parse_requirements(path, session=PipSession()) for req in requirements: if req.name: - yield req.name + results.append(req.name) + + return results class PipfileFinder(ReqsBaseFinder): |