Skip to content

Commit db38571

Browse files
committed
mark keyword-only arguments; use format strings; other details
1 parent 76d408d commit db38571

File tree

2 files changed

+28
-22
lines changed

2 files changed

+28
-22
lines changed

astroquery/sdss/core.py

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class SDSSClass(BaseQuery):
5656
'qso_bal': [30, 31], 'qso_bright': 32
5757
}
5858

59-
def query_crossid_async(self, coordinates, radius=5. * u.arcsec, timeout=TIMEOUT,
59+
def query_crossid_async(self, coordinates, *, radius=5. * u.arcsec, timeout=TIMEOUT,
6060
fields=None, photoobj_fields=None, specobj_fields=None, obj_names=None,
6161
spectro=False, region=False, field_help=False, get_query_payload=False,
6262
data_release=conf.default_release, cache=True):
@@ -131,10 +131,10 @@ def query_crossid_async(self, coordinates, radius=5. * u.arcsec, timeout=TIMEOUT
131131
"""
132132

133133
if isinstance(radius, Angle):
134-
radius = radius.to(u.arcmin).value
134+
radius = radius.to_value(u.arcmin)
135135
else:
136136
try:
137-
radius = Angle(radius).to(u.arcmin).value
137+
radius = Angle(radius).to_value(u.arcmin)
138138
except ValueError:
139139
raise TypeError("radius should be either Quantity or "
140140
"convertible to float.")
@@ -147,7 +147,7 @@ def query_crossid_async(self, coordinates, radius=5. * u.arcsec, timeout=TIMEOUT
147147
not coordinates.isscalar)):
148148
coordinates = [coordinates]
149149
if obj_names is None:
150-
obj_names = ['obj_{0}'.format(i) for i in range(len(coordinates))]
150+
obj_names = [f'obj_{i:d}' for i in range(len(coordinates))]
151151
elif len(obj_names) != len(coordinates):
152152
raise ValueError("Number of coordinates and obj_names should "
153153
"be equal")
@@ -193,7 +193,7 @@ def query_crossid_async(self, coordinates, radius=5. * u.arcsec, timeout=TIMEOUT
193193
timeout=timeout, cache=cache)
194194
return response
195195

196-
def query_region_async(self, coordinates, radius=2. * u.arcsec, timeout=TIMEOUT,
196+
def query_region_async(self, coordinates, *, radius=2. * u.arcsec, timeout=TIMEOUT,
197197
fields=None, photoobj_fields=None, specobj_fields=None, obj_names=None,
198198
spectro=False, field_help=False, get_query_payload=False,
199199
data_release=conf.default_release, cache=True):
@@ -297,7 +297,7 @@ def query_region_async(self, coordinates, radius=2. * u.arcsec, timeout=TIMEOUT,
297297
timeout=timeout, cache=cache)
298298
return response
299299

300-
def query_specobj_async(self, plate=None, mjd=None, fiberID=None,
300+
def query_specobj_async(self, *, plate=None, mjd=None, fiberID=None,
301301
fields=None, timeout=TIMEOUT,
302302
get_query_payload=False, field_help=False,
303303
data_release=conf.default_release, cache=True):
@@ -373,7 +373,7 @@ def query_specobj_async(self, plate=None, mjd=None, fiberID=None,
373373
timeout=timeout, cache=cache)
374374
return response
375375

376-
def query_photoobj_async(self, run=None, rerun=301, camcol=None,
376+
def query_photoobj_async(self, *, run=None, rerun=301, camcol=None,
377377
field=None, fields=None, timeout=TIMEOUT,
378378
get_query_payload=False, field_help=False,
379379
data_release=conf.default_release, cache=True):
@@ -459,7 +459,7 @@ def __sanitize_query(self, stmt):
459459
fsql += ' ' + line.split('--')[0]
460460
return fsql
461461

462-
def query_sql_async(self, sql_query, timeout=TIMEOUT,
462+
def query_sql_async(self, sql_query, *, timeout=TIMEOUT,
463463
data_release=conf.default_release,
464464
cache=True, **kwargs):
465465
"""
@@ -809,7 +809,7 @@ def get_images(self, coordinates=None, radius=2. * u.arcsec,
809809
else:
810810
return [obj.get_fits() for obj in readable_objs]
811811

812-
def get_spectral_template_async(self, kind='qso', timeout=TIMEOUT,
812+
def get_spectral_template_async(self, kind='qso', *, timeout=TIMEOUT,
813813
show_progress=True):
814814
"""
815815
Download spectral templates from SDSS DR-2.
@@ -864,7 +864,7 @@ def get_spectral_template_async(self, kind='qso', timeout=TIMEOUT,
864864
return results
865865

866866
@prepend_docstr_nosections(get_spectral_template_async.__doc__)
867-
def get_spectral_template(self, kind='qso', timeout=TIMEOUT,
867+
def get_spectral_template(self, kind='qso', *, timeout=TIMEOUT,
868868
show_progress=True):
869869
"""
870870
Returns
@@ -888,6 +888,8 @@ def _parse_result(self, response, verbose=False):
888888
----------
889889
response : `requests.Response`
890890
Result of requests -> np.atleast_1d.
891+
verbose : bool, optional
892+
Not currently used.
891893
892894
Returns
893895
-------
@@ -990,18 +992,18 @@ def _args_to_payload(self, coordinates=None,
990992
elif field_help:
991993
ret = 0
992994
if field_help in photoobj_all:
993-
print("{0} is a valid 'photoobj_field'".format(field_help))
995+
print(f"{field_help} is a valid 'photoobj_field'")
994996
ret += 1
995997
if field_help in specobj_all:
996-
print("{0} is a valid 'specobj_field'".format(field_help))
998+
print(f"{field_help} is a valid 'specobj_field'")
997999
ret += 1
9981000
if ret > 0:
9991001
return
10001002
else:
10011003
if field_help is not True:
1002-
warnings.warn("{0} isn't a valid 'photobj_field' or "
1004+
warnings.warn(f"{field_help} isn't a valid 'photobj_field' or "
10031005
"'specobj_field' field, valid fields are"
1004-
"returned.".format(field_help))
1006+
"returned.")
10051007
return {'photoobj_all': photoobj_all,
10061008
'specobj_all': specobj_all}
10071009

@@ -1025,18 +1027,18 @@ def _args_to_payload(self, coordinates=None,
10251027
for sql_field in fields:
10261028
if (sql_field in photoobj_all
10271029
or sql_field.lower() in photoobj_all):
1028-
q_select_field.append('p.{0}'.format(sql_field))
1030+
q_select_field.append(f'p.{sql_field}')
10291031
elif (sql_field in specobj_all
10301032
or sql_field.lower() in specobj_all):
10311033
fields_spectro = True
1032-
q_select_field.append('s.{0}'.format(sql_field))
1034+
q_select_field.append(f's.{sql_field}')
10331035

10341036
if photoobj_fields is not None:
10351037
for sql_field in photoobj_fields:
1036-
q_select_field.append('p.{0}'.format(sql_field))
1038+
q_select_field.append(f'p.{sql_field}')
10371039
if specobj_fields is not None:
10381040
for sql_field in specobj_fields:
1039-
q_select_field.append('s.{0}'.format(sql_field))
1041+
q_select_field.append(f's.{sql_field}')
10401042
if crossid and fields is None:
10411043
q_select_field.append('s.SpecObjID AS obj_id')
10421044
if crossid:
@@ -1076,7 +1078,7 @@ def _args_to_payload(self, coordinates=None,
10761078
raise ValueError('must specify at least one of `coordinates`, '
10771079
'`run`, `camcol` or `field`')
10781080

1079-
sql = "{0} {1} {2}".format(q_select, q_from, q_where)
1081+
sql = f"{q_select} {q_from} {q_where}"
10801082

10811083
# In DR 8 & DR9 the format parameter is case-sensitive, but in later
10821084
# releases that does not appear to be the case. In principle 'csv'
@@ -1094,6 +1096,8 @@ def _args_to_payload(self, coordinates=None,
10941096
return request_payload
10951097

10961098
def _get_query_url(self, data_release):
1099+
"""Generate URL for generic SQL queries.
1100+
"""
10971101
if data_release < 10:
10981102
suffix = self.QUERY_URL_SUFFIX_DR_OLD
10991103
elif data_release == 10:
@@ -1106,6 +1110,8 @@ def _get_query_url(self, data_release):
11061110
return url
11071111

11081112
def _get_crossid_url(self, data_release):
1113+
"""Generate URL for CrossID queries.
1114+
"""
11091115
if data_release < 10:
11101116
suffix = self.XID_URL_SUFFIX_OLD
11111117
elif data_release == 10:

astroquery/sdss/tests/test_sdss.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -312,21 +312,21 @@ def test_query_crossid(patch_request, dr):
312312
def test_query_crossid_large_radius(patch_request):
313313
"""Test raising an exception if too large a search radius.
314314
"""
315-
with pytest.raises(ValueError):
315+
with pytest.raises(ValueError, match="radius must be less than"):
316316
xid = sdss.SDSS.query_crossid(coords_column, radius=5.0 * u.arcmin)
317317

318318

319319
def test_query_crossid_invalid_radius(patch_request):
320320
"""Test raising an exception if search radius can't be parsed.
321321
"""
322-
with pytest.raises(TypeError):
322+
with pytest.raises(TypeError, match="radius should be either Quantity"):
323323
xid = sdss.SDSS.query_crossid(coords_column, radius='2.0 * u.arcmin')
324324

325325

326326
def test_query_crossid_invalid_names(patch_request):
327327
"""Test raising an exception if user-supplied object names are invalid.
328328
"""
329-
with pytest.raises(ValueError):
329+
with pytest.raises(ValueError, match="Number of coordinates and obj_names"):
330330
xid = sdss.SDSS.query_crossid(coords_column, obj_names=['A1'])
331331

332332

0 commit comments

Comments
 (0)