Commit 622d9c6c by Sébastien Eustace

Improve handling of licenses

parent dcf2dc09
...@@ -33,6 +33,10 @@ def load_licenses(): ...@@ -33,6 +33,10 @@ def load_licenses():
for name, license in data.items(): for name, license in data.items():
_licenses[name.lower()] = License(name, license[0], license[1], license[2]) _licenses[name.lower()] = License(name, license[0], license[1], license[2])
_licenses[license[0].lower()] = _licenses[name.lower()]
# Add a Proprietary license for non-standard licenses
_licenses["proprietary"] = License("Proprietary", "Proprietary", False, False)
if __name__ == "__main__": if __name__ == "__main__":
......
...@@ -42,3 +42,9 @@ def test_classifier_no_classifer(): ...@@ -42,3 +42,9 @@ def test_classifier_no_classifer():
license = license_by_id("Leptonica") license = license_by_id("Leptonica")
assert license.classifier == "License :: Other/Proprietary License" assert license.classifier == "License :: Other/Proprietary License"
def test_proprietary_license():
license = license_by_id("Proprietary")
assert "License :: Other/Proprietary License" == license.classifier
...@@ -29,6 +29,15 @@ def test_license_by_id_is_case_insensitive(): ...@@ -29,6 +29,15 @@ def test_license_by_id_is_case_insensitive():
assert license.id == "MIT" assert license.id == "MIT"
def test_license_by_id_with_full_name():
license = license_by_id("GNU Lesser General Public License v3.0 or later")
assert license.id == "LGPL-3.0-or-later"
assert license.name == "GNU Lesser General Public License v3.0 or later"
assert license.is_osi_approved
assert not license.is_deprecated
def test_license_by_id_invalid(): def test_license_by_id_invalid():
with pytest.raises(ValueError): with pytest.raises(ValueError):
license_by_id("invalid") license_by_id("invalid")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment