Fixed#133

Sorted `imports` based on `lowercase` package's `name`, similar to `pip freeze`.
This commit is contained in:
Abhishek Kumar Singh 2019-10-10 18:34:59 +05:30 committed by Abhishek Kumar Singh
parent 060f52f597
commit fc720f18bb
2 changed files with 5 additions and 0 deletions

View File

@ -430,6 +430,8 @@ def init(args):
imports = local + get_imports_info(difference, imports = local + get_imports_info(difference,
proxy=proxy, proxy=proxy,
pypi_server=pypi_server) pypi_server=pypi_server)
# sort imports based on lowercase name of package, similar to `pip freeze`.
imports = sorted(imports, key=lambda x: x['name'].lower())
path = (args["--savepath"] if args["--savepath"] else path = (args["--savepath"] if args["--savepath"] else
os.path.join(input_path, "requirements.txt")) os.path.join(input_path, "requirements.txt"))

View File

@ -99,6 +99,9 @@ class TestPipreqs(unittest.TestCase):
data = f.read().lower() data = f.read().lower()
for item in self.modules[:-3]: for item in self.modules[:-3]:
self.assertTrue(item.lower() in data) self.assertTrue(item.lower() in data)
# It should be sorted based on names.
data = data.strip().split('\n')
self.assertEqual(data, sorted(data))
def test_init_local_only(self): def test_init_local_only(self):
""" """