Skip to content

Commit 19e90c2

Browse files
Simplify validate_doi
Remove superfluous Exception handling and overlapping 404 exception.
1 parent 3cdb3fb commit 19e90c2

1 file changed

Lines changed: 3 additions & 16 deletions

File tree

src/doi/__init__.py

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -53,25 +53,12 @@ def validate_doi(doi: str) -> Optional[str]:
5353

5454
try:
5555
result = json.loads(urllib.request.urlopen(request).read().decode())
56-
if 'values' in result:
57-
urls = [v['data']['value']
58-
for v in result['values'] if v.get('type') == 'URL']
59-
return urls[0] if urls else None
6056
except HTTPError:
6157
raise ValueError('HTTP 404: DOI not found')
62-
except URLError as e:
63-
raise ValueError(e)
64-
65-
response_code = int(result["responseCode"])
66-
if response_code in [1, 200]:
67-
# HTTP 200 all ok
68-
logger.debug('HTTP 200: valid doi')
69-
elif response_code == 2:
70-
raise ValueError('HTTP 500: Interal DOI server error')
71-
elif response_code == 100:
72-
raise ValueError('HTTP 404: DOI not found')
7358
else:
74-
raise ValueError('Something unexpected happened')
59+
urls = [v['data']['value']
60+
for v in result['values'] if v.get('type') == 'URL']
61+
return urls[0] if urls else None
7562

7663

7764
def get_clean_doi(doi: str) -> str:

0 commit comments

Comments
 (0)