|
11 | 11 | from astropy.table import Table
|
12 | 12 | from astropy.io import fits
|
13 | 13 |
|
14 |
| -from ..query import BaseQuery |
| 14 | +from ..query import BaseQuery, AstroQuery |
15 | 15 | from ..utils import commons
|
16 | 16 | from ..utils import prepend_docstr_nosections
|
17 | 17 | from ..utils import async_to_sync
|
@@ -188,34 +188,44 @@ def get_images(self, coordinates, radius, get_query_payload=False,
|
188 | 188 | -------
|
189 | 189 | A list of `astropy.fits.HDUList` objects
|
190 | 190 | """
|
191 |
| - responses = self.get_images_async(coordinates, radius, |
| 191 | + filenames = self.get_images_async(coordinates, radius, |
192 | 192 | get_query_payload=get_query_payload,
|
193 | 193 | cache=cache)
|
194 | 194 | if get_query_payload:
|
195 |
| - return responses |
196 |
| - return [fits.open(io.BytesIO(response.content)) for response in responses] |
| 195 | + return filenames |
| 196 | + return [fits.open(fn) for fn in filenames] |
197 | 197 |
|
198 | 198 | @prepend_docstr_nosections(get_images.__doc__)
|
199 | 199 | def get_images_async(self, coordinates, radius, get_query_payload=False,
|
200 |
| - cache=False): |
| 200 | + cache=False, timeout=None): |
201 | 201 | """
|
202 | 202 | Returns
|
203 | 203 | -------
|
204 | 204 | A list of context-managers that yield readable file-like objects
|
205 | 205 | """
|
| 206 | + print(f"Getting image list at {coordinates} with {radius}") |
206 | 207 | image_urls = self.get_image_list(coordinates, radius,
|
207 | 208 | get_query_payload=get_query_payload)
|
208 | 209 | if get_query_payload:
|
209 | 210 | return image_urls
|
210 | 211 |
|
211 | 212 | responses = []
|
| 213 | + filenames = [] |
212 | 214 | for url in image_urls:
|
213 |
| - response = self._request('GET', url, timeout=self.TIMEOUT, |
214 |
| - cache=cache) |
215 |
| - response.raise_for_status() |
| 215 | + print("Downloading URL {0}".format(url)) |
| 216 | + query = AstroQuery('GET', url) |
| 217 | + cachefile = query.request_file(self.cache_location) |
| 218 | + response = self._download_file(url, cachefile, cache=cache, |
| 219 | + timeout=timeout or self.TIMEOUT, |
| 220 | + close_response=False |
| 221 | + ) |
| 222 | + filenames.append(cachefile) |
| 223 | + #response = self._request('GET', url, timeout=self.TIMEOUT, |
| 224 | + # cache=cache) |
| 225 | + #response.raise_for_status() |
216 | 226 | responses.append(response)
|
217 | 227 |
|
218 |
| - return responses |
| 228 | + return filenames |
219 | 229 |
|
220 | 230 | @prepend_docstr_nosections(get_images.__doc__)
|
221 | 231 | def get_image_list(self, coordinates, radius, get_query_payload=False,
|
|
0 commit comments