summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--isort/finders.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/isort/finders.py b/isort/finders.py
index 6a1c3d5a..537e8491 100644
--- a/isort/finders.py
+++ b/isort/finders.py
@@ -298,11 +298,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):