From e827ef60a7b2a38fa8911d1416d27cb88e93f76d Mon Sep 17 00:00:00 2001 From: Bogdan Sikora Date: Tue, 28 Jan 2020 13:30:58 +0100 Subject: [PATCH 1/5] feat: gitignore updated --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 770d014..7ac4476 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,6 @@ examples .vscode **/node_modules/** **/target/** -**/dist/** \ No newline at end of file +**/dist/** +**/build/** +**/license_sh.egg-info/** \ No newline at end of file From 22a4395f1c977acd33865d2ffaa812aa76f1f165 Mon Sep 17 00:00:00 2001 From: Bogdan Sikora Date: Tue, 28 Jan 2020 13:31:26 +0100 Subject: [PATCH 2/5] fix: Check that name is present in json data --- license_sh/runners/runners_shared.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/license_sh/runners/runners_shared.py b/license_sh/runners/runners_shared.py index 8f013df..ce22856 100644 --- a/license_sh/runners/runners_shared.py +++ b/license_sh/runners/runners_shared.py @@ -30,9 +30,10 @@ async def fetch_concurrent(urls): try: output, version = await result page = json.loads(output) - license_map[f"{page['name']}@{version}"] = extract_npm_license( - page, version - ) + if ('name') in page: + license_map[f"{page['name']}@{version}"] = extract_npm_license( + page, version + ) except json.JSONDecodeError: pass From 17225a38858e82352e634475d3b94ef7fd4d2523 Mon Sep 17 00:00:00 2001 From: Bogdan Sikora Date: Tue, 28 Jan 2020 14:32:44 +0100 Subject: [PATCH 3/5] fix: licenses parsing check for dict --- license_sh/helpers.py | 2 +- tests/runners/test_helpers.py | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/license_sh/helpers.py b/license_sh/helpers.py index 56b2849..b1119ff 100644 --- a/license_sh/helpers.py +++ b/license_sh/helpers.py @@ -43,7 +43,7 @@ def get_npm_license_from_licenses_array(licenses_array): license_name = UNKNOWN for license_item in licenses_array: - license_item_type = license_item.get("type", UNKNOWN) + license_item_type = license_item.get("type", UNKNOWN) if type(license_item) is dict else f"{license_item}" if license_name != UNKNOWN: license_name = f"{license_name} AND {license_item_type}" else: diff --git a/tests/runners/test_helpers.py b/tests/runners/test_helpers.py index 1a0f966..f4cb802 100644 --- a/tests/runners/test_helpers.py +++ b/tests/runners/test_helpers.py @@ -271,6 +271,16 @@ def test_extract_npm_license_simple(self): ) name = extract_npm_license(data, "Unknown") self.assertEqual(name, "MIT") + + def test_extract_npm_licenses_global_single_string(self): + data = json.loads( + """{ + "name": "name", + "licenses": ["MIT"] + }""" + ) + name = extract_npm_license(data, "Unknown") + self.assertEqual(name, "MIT") def test_extract_npm_licenses_global_single(self): data = json.loads( @@ -415,7 +425,7 @@ def test_get_npm_license_from_licenses_empty(self): ) name = get_npm_license_from_licenses_array(data.get("licenses")) self.assertEqual(name, UNKNOWN) - + if __name__ == "__main__": unittest.main() From 7edd6c55ba64111edce18dd4c60a64dfac0938c1 Mon Sep 17 00:00:00 2001 From: Bogdan Sikora Date: Tue, 28 Jan 2020 14:32:56 +0100 Subject: [PATCH 4/5] feat: Version 1.0.16 --- license_sh/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/license_sh/version.py b/license_sh/version.py index f871089..13361d1 100644 --- a/license_sh/version.py +++ b/license_sh/version.py @@ -1 +1 @@ -__version__ = "1.0.15" +__version__ = "1.0.16" From de0fe809a909166660cfe14e81e23e2dfa57ff89 Mon Sep 17 00:00:00 2001 From: Bogdan Sikora Date: Tue, 28 Jan 2020 14:33:47 +0100 Subject: [PATCH 5/5] fix: style update --- license_sh/helpers.py | 6 +++++- license_sh/runners/runners_shared.py | 2 +- tests/runners/test_helpers.py | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/license_sh/helpers.py b/license_sh/helpers.py index b1119ff..7358ff7 100644 --- a/license_sh/helpers.py +++ b/license_sh/helpers.py @@ -43,7 +43,11 @@ def get_npm_license_from_licenses_array(licenses_array): license_name = UNKNOWN for license_item in licenses_array: - license_item_type = license_item.get("type", UNKNOWN) if type(license_item) is dict else f"{license_item}" + license_item_type = ( + license_item.get("type", UNKNOWN) + if type(license_item) is dict + else f"{license_item}" + ) if license_name != UNKNOWN: license_name = f"{license_name} AND {license_item_type}" else: diff --git a/license_sh/runners/runners_shared.py b/license_sh/runners/runners_shared.py index ce22856..bcea6e3 100644 --- a/license_sh/runners/runners_shared.py +++ b/license_sh/runners/runners_shared.py @@ -30,7 +30,7 @@ async def fetch_concurrent(urls): try: output, version = await result page = json.loads(output) - if ('name') in page: + if ("name") in page: license_map[f"{page['name']}@{version}"] = extract_npm_license( page, version ) diff --git a/tests/runners/test_helpers.py b/tests/runners/test_helpers.py index f4cb802..9026a98 100644 --- a/tests/runners/test_helpers.py +++ b/tests/runners/test_helpers.py @@ -271,7 +271,7 @@ def test_extract_npm_license_simple(self): ) name = extract_npm_license(data, "Unknown") self.assertEqual(name, "MIT") - + def test_extract_npm_licenses_global_single_string(self): data = json.loads( """{ @@ -425,7 +425,7 @@ def test_get_npm_license_from_licenses_empty(self): ) name = get_npm_license_from_licenses_array(data.get("licenses")) self.assertEqual(name, UNKNOWN) - + if __name__ == "__main__": unittest.main()