Skip to content

Commit 464b9f6

Browse files
committed
ENH: adding selcols for selecting columns
1 parent 2e0ef17 commit 464b9f6

File tree

2 files changed

+26
-6
lines changed

2 files changed

+26
-6
lines changed

astroquery/ipac/irsa/core.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,12 @@ def query_region(self, coordinates=None, *, catalog=None, spatial='Cone',
114114
if catalog is None:
115115
raise InvalidQueryError("Catalog name is required!")
116116

117-
adql = f'SELECT * from {catalog}'
117+
if selcols is None:
118+
columns = '*'
119+
else:
120+
columns = selcols
121+
122+
adql = f'SELECT {columns} from {catalog}'
118123

119124
coords_icrs = parse_coordinates(coordinates).icrs
120125
ra, dec = coords_icrs.ra.deg, coords_icrs.dec.deg

astroquery/ipac/irsa/tests/test_irsa_remote.py

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,31 @@
1010

1111

1212
OBJ_LIST = ["m31", "00h42m44.330s +41d16m07.50s",
13-
SkyCoord(l=121.1743, b=-21.5733, unit=(u.deg, u.deg), # noqa
14-
frame='galactic')]
13+
SkyCoord(l=121.1743, b=-21.5733, unit=(u.deg, u.deg), frame='galactic')]
1514

1615

1716
@pytest.mark.remote_data
1817
class TestIrsa:
19-
def test_query_region_cone(self):
20-
result = Irsa.query_region(
21-
'm31', catalog='fp_psc', spatial='Cone', radius=2 * u.arcmin, cache=False)
18+
19+
@pytest.mark.parametrize("coordinates", OBJ_LIST)
20+
def test_query_region_cone(self, coordinates):
21+
"""
22+
Test multiple ways of specifying coordinates for a conesearch
23+
"""
24+
result = Irsa.query_region(coordinates, catalog='fp_psc', spatial='Cone', cache=False)
2225
assert isinstance(result, Table)
26+
assert len(result) == 19
27+
# assert all columns are returned
28+
assert len(result.colnames) == 64
29+
30+
def test_query_selcols_radius(self):
31+
"""
32+
Test selection of only a few columns, and using a bigger radius
33+
"""
34+
result = Irsa.query_region("m31", catalog='fp_psc', selcols='ra,dec,j_m', radius=0.5 * u.arcmin)
35+
assert len(result) == 84
36+
# assert only selected columns are returned
37+
assert result.colnames == ['ra', 'dec', 'j_m']
2338

2439
@pytest.mark.skip("Upstream TAP doesn't support Box geometry yet")
2540
def test_query_region_box(self):

0 commit comments

Comments
 (0)