Skip to content
Snippets Groups Projects
Commit 6757e0ec authored by Frank Lange's avatar Frank Lange
Browse files

add handling of proprietary license

parent 2ff8ea33
No related branches found
No related tags found
No related merge requests found
Pipeline #1485127 passed
......@@ -5,7 +5,7 @@ from rdflib import RDF, URIRef, Variable
from project.dalia.api_models.api_models import License
from project.dalia.query.utils import query_ontologies_dataset
from project.dalia.query_builder.query_builder import FunctionExpressions, OPTIONAL, QueryBuilder, VALUES
from project.dalia.rdf.namespace import spdx
from project.dalia.rdf.namespace import MoDalia, spdx
_VARIABLES = {
"licenseId": Variable("licenseId"),
......@@ -56,8 +56,19 @@ def _license_from_results(results) -> License:
)
def _proprietary_license():
return License(
id="Proprietary",
name="Proprietary",
link="",
)
@lru_cache
def get_license_info(license_uri: URIRef) -> License:
if license_uri == MoDalia.ProprietaryLicense:
return _proprietary_license()
query = prepare_query_for_license_info(license_uri)
results = query_ontologies_dataset(query)
return _license_from_results(results)
......@@ -42,3 +42,4 @@ Competent = URIRef(NS + "Competent")
Expert = URIRef(NS + "Expert")
Novice = URIRef(NS + "Novice")
Proficient = URIRef(NS + "Proficient")
ProprietaryLicense = URIRef(NS + "ProprietaryLicense")
......@@ -2,6 +2,7 @@ from rdflib import URIRef
from project.dalia.api_models.api_models import License
from project.dalia.query.items.metadata.license import get_license_info, prepare_query_for_license_info
from project.dalia.rdf.namespace import MoDalia
from tests.project.dalia.utils import dedent_and_normalize, normalize
......@@ -33,7 +34,7 @@ def test_prepare_query_for_license_info():
""")
def test_get_license_info_with_existing_license(triplestore):
def test_get_license_info_with_existing_license_from_spdx(triplestore):
license = get_license_info(URIRef("http://spdx.org/licenses/Apache-2.0"))
assert license == License(
......@@ -43,6 +44,16 @@ def test_get_license_info_with_existing_license(triplestore):
)
def test_get_license_info_with_proprietary_license():
license = get_license_info(MoDalia.ProprietaryLicense)
assert license == License(
id='Proprietary',
name='Proprietary',
link='',
)
def test_get_license_info_with_non_existing_license(triplestore):
license = get_license_info(URIRef("http://does-not-exist/123"))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment