Skip to content

Commit 4ea05c8

Browse files
authored
Merge pull request #24 from jjtobin/nrao_2024_jt
Adapt region queries to work with NRAO TAP service
2 parents 076df46 + 63fded4 commit 4ea05c8

File tree

1 file changed

+28
-22
lines changed

1 file changed

+28
-22
lines changed

astroquery/nrao/core.py

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,10 @@
3333
from ..query import BaseQuery, QueryWithLogin, BaseVOQuery
3434
from . import conf, auth_urls, tap_urls
3535
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,
3737
_gen_band_list_sql, _gen_datetime_sql, _gen_pol_sql, _gen_pub_sql,
3838
_gen_science_sql, _gen_spec_res_sql, ALMA_DATE_FORMAT)
39+
from .tapsql import (_gen_pos_sql)
3940

4041
__all__ = {'NraoClass',}
4142

@@ -191,6 +192,29 @@ def query_tap(self, query, maxrec=None):
191192
def _get_dataarchive_url(self):
192193
return tap_urls[0]
193194

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+
194218
def query_region_async(self, coordinate, radius, *,
195219
payload=None, **kwargs):
196220
"""
@@ -251,9 +275,9 @@ def query_async(self, payload, *, get_query_payload=False,
251275
payload[arg] = '{} {}'.format(payload[arg], value)
252276
else:
253277
payload[arg] = value
254-
278+
print(payload)
255279
query = _gen_sql(payload)
256-
280+
print(query)
257281
if get_query_payload:
258282
# Return the TAP query payload that goes out to the server rather
259283
# than the unprocessed payload dict from the python side
@@ -266,25 +290,7 @@ def query_async(self, payload, *, get_query_payload=False,
266290
else:
267291
# Should not happen
268292
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+
288294
return result
289295

290296

0 commit comments

Comments
 (0)