File tree Expand file tree Collapse file tree 1 file changed +17
-12
lines changed Expand file tree Collapse file tree 1 file changed +17
-12
lines changed Original file line number Diff line number Diff line change @@ -67,30 +67,35 @@ def get(dataset_id=None):
67
67
"""
68
68
Retrieves metadata for a dataset by its ID.
69
69
70
- This function fetches metadata for a dataset from a remote server
71
- using its unique identifier. The metadata is retrieved as a JSON
72
- response from the Brain Image Library's API.
73
-
74
70
Args:
75
71
dataset_id (str, optional): The unique identifier for the dataset. Defaults to None.
76
72
77
73
Returns:
78
74
dict: A dictionary containing the dataset metadata if the request is successful.
79
-
80
75
None: If the request fails or encounters an exception.
81
-
82
- Raises:
83
- requests.exceptions.RequestException: If an error occurs during the API request.
84
76
"""
85
-
77
+ if dataset_id is None :
78
+ print ("Error: dataset_id must be provided." )
79
+ return None
80
+
86
81
filename = f"{ dataset_id } .json"
87
82
url = f"https://download.brainimagelibrary.org/inventory/datasets/{ filename } "
88
83
89
84
try :
90
- response = requests .get (url )
85
+ response = requests .get (url , timeout = 30 )
86
+
87
+ # Check if request was successful
88
+ if response .status_code != 200 :
89
+ print (f"Error: received status code { response .status_code } for { url } " )
90
+ return None
91
+
92
+ # Ensure we got JSON
93
+ try :
94
+ return response .json ()
95
+ except ValueError :
96
+ print ("Error: Response is not valid JSON." )
97
+ return None
91
98
92
- response = response .json ()
93
- return response
94
99
except requests .exceptions .RequestException as e :
95
100
print (f"Error making API request: { e } " )
96
101
return None
You can’t perform that action at this time.
0 commit comments