@@ -79,20 +79,21 @@ class ERDDAP(object):
79
79
'UBC': 'https://salishsea.eos.ubc.ca/erddap'}
80
80
81
81
"""
82
- def __init__ (self , server , dataset_id = None , protocol = None , variables = '' ,
83
- response = 'html' , constraints = None , params = None , requests_kwargs = None ):
82
+ def __init__ (self , server , protocol = None , response = 'html' ):
84
83
if server in servers .keys ():
85
84
server = servers [server ].url
86
85
self .server = _check_url_response (server )
87
- self .dataset_id = dataset_id
88
86
self .protocol = protocol
89
- self .variables = variables
87
+
88
+ # Initialized only via properties.
89
+ self .constraints = None
90
+ self .dataset_id = None
91
+ self .params = None
92
+ self .requests_kwargs = {}
90
93
self .response = response
91
- self .constraints = constraints
92
- self .params = params
93
- self .requests_kwargs = requests_kwargs if requests_kwargs else {}
94
+ self .variables = ''
94
95
95
- # Caching the last `dataset_id` request for quicker multiple accesses,
96
+ # Caching the last `dataset_id` and `variables` list request for quicker multiple accesses,
96
97
# will be overridden when requesting a new `dataset_id`.
97
98
self ._dataset_id = None
98
99
self ._variables = {}
@@ -113,7 +114,7 @@ def get_info_url(self, dataset_id=None, response=None):
113
114
response = response if response else self .response
114
115
115
116
if not dataset_id :
116
- raise ValueError ('You must specify a valid dataset_id, got {}' . format ( self . dataset_id ) )
117
+ raise ValueError (f 'You must specify a valid dataset_id, got { dataset_id } ' )
117
118
118
119
return info_url (
119
120
server = self .server ,
@@ -130,10 +131,10 @@ def get_download_url(self, dataset_id=None, protocol=None,
130
131
constraints = constraints if constraints else self .constraints
131
132
132
133
if not dataset_id :
133
- raise ValueError ('Please specify a valid `dataset_id`, got {}' . format ( self . dataset_id ) )
134
+ raise ValueError (f 'Please specify a valid `dataset_id`, got { dataset_id } ' )
134
135
135
136
if not protocol :
136
- raise ValueError ('Please specify a valid `protocol`, got {}' . format ( self . protocol ) )
137
+ raise ValueError (f 'Please specify a valid `protocol`, got { protocol } ' )
137
138
138
139
return download_url (
139
140
server = self .server ,
@@ -196,6 +197,10 @@ def get_var_by_attr(self, dataset_id=None, **kwargs):
196
197
"""
197
198
if not dataset_id :
198
199
dataset_id = self .dataset_id
200
+
201
+ if dataset_id is None :
202
+ raise ValueError (f'You must specify a valid dataset_id, got { dataset_id } ' )
203
+
199
204
url = info_url (self .server , dataset_id = dataset_id , response = 'csv' )
200
205
201
206
# Creates the variables dictionary for the `get_var_by_attr` lookup.
0 commit comments