From b08bf4429b8340171bfa2e78abc92dfcb831d2b0 Mon Sep 17 00:00:00 2001 From: Emrys Date: Thu, 1 Oct 2020 14:59:27 +0200 Subject: [PATCH] #77 fixed get_by_uri --- requirements-dev.txt | 1 + skosprovider_getty/utils.py | 5 ++++- tests/test_providers.py | 5 +++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 9ac277d..2a7347d 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -6,6 +6,7 @@ pytest==4.6.9 ; python_version < '3.0' pytest==5.3.5 ; python_version >= '3.0' pytest-cov==2.8.1 coveralls==1.11.1 +nose == 1.3.7 # Documentation Sphinx==1.8.5 ; python_version < '3.5' diff --git a/skosprovider_getty/utils.py b/skosprovider_getty/utils.py index c609cc2..5d39d3f 100644 --- a/skosprovider_getty/utils.py +++ b/skosprovider_getty/utils.py @@ -279,7 +279,10 @@ def hierarchy_notetypes(list): def uri_to_id(uri): - return uri.strip('/').rsplit('/', 1)[1] + try: + return uri.strip('/').rsplit('/', 1)[1] + except IndexError: + return uri def uri_to_graph(uri, **kwargs): diff --git a/tests/test_providers.py b/tests/test_providers.py index d14fb92..1cfab26 100644 --- a/tests/test_providers.py +++ b/tests/test_providers.py @@ -123,6 +123,11 @@ def test_get_by_uri(self): self.assertEqual(concept['uri'], 'http://vocab.getty.edu/aat/300007466') self.assertEqual(concept['id'], '300007466') + def test_get_by_uri_invalid(self): + # Default GettyProvider is an AAT provider + concept = GettyProvider({'id': 'AAT'}).get_by_uri('urn:skosprovider:5') + self.assertFalse(concept) + def test_get_by_id_tgn(self): concept = TGNProvider({'id': 'TGN'}).get_by_id('1000063') concept = concept.__dict__