33
33
from ..query import BaseQuery , QueryWithLogin , BaseVOQuery
34
34
from . import conf , auth_urls , tap_urls
35
35
from astroquery .exceptions import CorruptDataWarning
36
- from ..alma .tapsql import (_gen_pos_sql , _gen_str_sql , _gen_numeric_sql ,
36
+ from ..alma .tapsql import (_gen_str_sql , _gen_numeric_sql ,
37
37
_gen_band_list_sql , _gen_datetime_sql , _gen_pol_sql , _gen_pub_sql ,
38
38
_gen_science_sql , _gen_spec_res_sql , ALMA_DATE_FORMAT )
39
+ from .tapsql import (_gen_pos_sql )
39
40
40
41
__all__ = {'NraoClass' ,}
41
42
@@ -191,6 +192,29 @@ def query_tap(self, query, maxrec=None):
191
192
def _get_dataarchive_url (self ):
192
193
return tap_urls [0 ]
193
194
195
+ def query_object_async (self , object_name , * , payload = None , ** kwargs ):
196
+ """
197
+ Query the archive for a source name.
198
+
199
+ Parameters
200
+ ----------
201
+ object_name : str
202
+ The object name. Will be resolved by astropy.coord.SkyCoord
203
+ public : bool
204
+ True to return only public datasets, False to return private only,
205
+ None to return both
206
+ science : bool
207
+ True to return only science datasets, False to return only
208
+ calibration, None to return both
209
+ payload : dict
210
+ Dictionary of additional keywords. See `help`.
211
+ """
212
+ if payload is not None :
213
+ payload ['source_name_resolver' ] = object_name
214
+ else :
215
+ payload = {'source_name_resolver' : object_name }
216
+ return self .query_async (payload = payload , ** kwargs )
217
+
194
218
def query_region_async (self , coordinate , radius , * ,
195
219
payload = None , ** kwargs ):
196
220
"""
@@ -251,9 +275,9 @@ def query_async(self, payload, *, get_query_payload=False,
251
275
payload [arg ] = '{} {}' .format (payload [arg ], value )
252
276
else :
253
277
payload [arg ] = value
254
-
278
+ print ( payload )
255
279
query = _gen_sql (payload )
256
-
280
+ print ( query )
257
281
if get_query_payload :
258
282
# Return the TAP query payload that goes out to the server rather
259
283
# than the unprocessed payload dict from the python side
@@ -266,25 +290,7 @@ def query_async(self, payload, *, get_query_payload=False,
266
290
else :
267
291
# Should not happen
268
292
raise RuntimeError ('BUG: Unexpected result None' )
269
- if legacy_columns :
270
- legacy_result = Table ()
271
- # add 'Observation date' column
272
-
273
- for col_name in _OBSCORE_TO_NRAORESULT :
274
- if col_name in result .columns :
275
- if col_name == 't_min' :
276
- legacy_result ['Observation date' ] = \
277
- [Time (_ ['t_min' ], format = 'mjd' ).strftime (
278
- NRAO_DATE_FORMAT ) for _ in result ]
279
- else :
280
- legacy_result [_OBSCORE_TO_NRAORESULT [col_name ]] = \
281
- result [col_name ]
282
- else :
283
- log .error ("Invalid column mapping in OBSCORE_TO_NRAORESULT: "
284
- "{}:{}. Please "
285
- "report this as an Issue."
286
- .format (col_name , _OBSCORE_TO_NRAORESULT [col_name ]))
287
- return legacy_result
293
+
288
294
return result
289
295
290
296
0 commit comments