Skip to content

Commit 016df55

Browse files
nkphysicsbsipocz
authored andcommitted
Refactor: Made gaia kwargs keyword only
1 parent 5ef0d92 commit 016df55

File tree

4 files changed

+45
-42
lines changed

4 files changed

+45
-42
lines changed

astroquery/gaia/core.py

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class GaiaClass(TapPlus):
4646
VALID_DATALINK_RETRIEVAL_TYPES = conf.VALID_DATALINK_RETRIEVAL_TYPES
4747
GAIA_MESSAGES = "notification?action=GetNotifications"
4848

49-
def __init__(self, tap_plus_conn_handler=None,
49+
def __init__(self, *, tap_plus_conn_handler=None,
5050
datalink_handler=None,
5151
gaia_tap_server='https://gea.esac.esa.int/',
5252
gaia_data_server='https://gea.esac.esa.int/',
@@ -79,7 +79,7 @@ def __init__(self, tap_plus_conn_handler=None,
7979
if show_server_messages:
8080
self.get_status_messages()
8181

82-
def login(self, user=None, password=None, credentials_file=None,
82+
def login(self, *, user=None, password=None, credentials_file=None,
8383
verbose=False):
8484
"""Performs a login.
8585
User and password arguments can be used or a file that contains
@@ -118,7 +118,7 @@ def login(self, user=None, password=None, credentials_file=None,
118118
log.error("Logging out from TAP server")
119119
TapPlus.logout(self, verbose=verbose)
120120

121-
def login_gui(self, verbose=False):
121+
def login_gui(self, *, verbose=False):
122122
"""Performs a login using a GUI dialog
123123
124124
Parameters
@@ -143,7 +143,7 @@ def login_gui(self, verbose=False):
143143
log.error("Logging out from TAP server")
144144
TapPlus.logout(self, verbose=verbose)
145145

146-
def logout(self, verbose=False):
146+
def logout(self, *, verbose=False):
147147
"""Performs a logout
148148
149149
Parameters
@@ -163,8 +163,9 @@ def logout(self, verbose=False):
163163
except HTTPError:
164164
log.error("Error logging out data server")
165165

166-
def load_data(self, ids, data_release=None, data_structure='INDIVIDUAL', retrieval_type="ALL", valid_data=False,
167-
band=None, avoid_datatype_check=False, format="votable", output_file=None,
166+
def load_data(self, ids, *, data_release=None, data_structure='INDIVIDUAL',
167+
retrieval_type="ALL", valid_data=False, band=None,
168+
avoid_datatype_check=False, format="votable", output_file=None,
168169
overwrite_output_file=False, verbose=False):
169170
"""Loads the specified table
170171
TAP+ only
@@ -348,7 +349,7 @@ def __get_data_files(output_file, path):
348349
files[key] = tables
349350
return files
350351

351-
def get_datalinks(self, ids, verbose=False):
352+
def get_datalinks(self, ids, *, verbose=False):
352353
"""Gets datalinks associated to the provided identifiers
353354
TAP+ only
354355
@@ -365,7 +366,7 @@ def get_datalinks(self, ids, verbose=False):
365366
"""
366367
return self.__gaiadata.get_datalinks(ids=ids, verbose=verbose)
367368

368-
def __query_object(self, coordinate, radius=None, width=None, height=None,
369+
def __query_object(self, coordinate, *, radius=None, width=None, height=None,
369370
async_job=False, verbose=False, columns=[]):
370371
"""Launches a job
371372
TAP & TAP+
@@ -444,7 +445,7 @@ def __query_object(self, coordinate, radius=None, width=None, height=None,
444445
job = self.launch_job(query, verbose=verbose)
445446
return job.get_results()
446447

447-
def query_object(self, coordinate, radius=None, width=None, height=None,
448+
def query_object(self, coordinate, *, radius=None, width=None, height=None,
448449
verbose=False, columns=[]):
449450
"""Launches a job
450451
TAP & TAP+
@@ -468,9 +469,11 @@ def query_object(self, coordinate, radius=None, width=None, height=None,
468469
-------
469470
The job results (astropy.table).
470471
"""
471-
return self.__query_object(coordinate, radius, width, height, async_job=False, verbose=verbose, columns=columns)
472+
return self.__query_object(coordinate, radius=radius,
473+
width=width, height=height, async_job=False,
474+
verbose=verbose, columns=columns)
472475

473-
def query_object_async(self, coordinate, radius=None, width=None,
476+
def query_object_async(self, coordinate, *, radius=None, width=None,
474477
height=None, verbose=False, columns=[]):
475478
"""Launches a job (async)
476479
TAP & TAP+
@@ -494,9 +497,11 @@ def query_object_async(self, coordinate, radius=None, width=None,
494497
-------
495498
The job results (astropy.table).
496499
"""
497-
return self.__query_object(coordinate, radius, width, height, async_job=True, verbose=verbose, columns=columns)
500+
return self.__query_object(coordinate, radius=radius, width=width,
501+
height=height, async_job=True, verbose=verbose,
502+
columns=columns)
498503

499-
def __cone_search(self, coordinate, radius, table_name=None,
504+
def __cone_search(self, coordinate, radius, *, table_name=None,
500505
ra_column_name=MAIN_GAIA_TABLE_RA,
501506
dec_column_name=MAIN_GAIA_TABLE_DEC,
502507
async_job=False,
@@ -589,7 +594,7 @@ def __cone_search(self, coordinate, radius, table_name=None,
589594
verbose=verbose,
590595
dump_to_file=dump_to_file)
591596

592-
def cone_search(self, coordinate, radius=None,
597+
def cone_search(self, coordinate, *, radius=None,
593598
table_name=None,
594599
ra_column_name=MAIN_GAIA_TABLE_RA,
595600
dec_column_name=MAIN_GAIA_TABLE_DEC,
@@ -639,7 +644,7 @@ def cone_search(self, coordinate, radius=None,
639644
verbose=verbose,
640645
dump_to_file=dump_to_file, columns=columns)
641646

642-
def cone_search_async(self, coordinate, radius=None,
647+
def cone_search_async(self, coordinate, *, radius=None,
643648
table_name=None,
644649
ra_column_name=MAIN_GAIA_TABLE_RA,
645650
dec_column_name=MAIN_GAIA_TABLE_DEC,
@@ -733,7 +738,7 @@ def correct_table_units(table):
733738
elif isinstance(col.unit, str):
734739
col.unit = col.unit.replace(".", " ").replace("'", "")
735740

736-
def load_user(self, user_id, verbose=False):
741+
def load_user(self, user_id, *, verbose=False):
737742
"""Loads the specified user
738743
TAP+ only
739744
@@ -752,7 +757,7 @@ def load_user(self, user_id, verbose=False):
752757
return self.is_valid_user(user_id=user_id,
753758
verbose=verbose)
754759

755-
def cross_match(self, full_qualified_table_name_a=None,
760+
def cross_match(self, *, full_qualified_table_name_a=None,
756761
full_qualified_table_name_b=None,
757762
results_table_name=None,
758763
radius=1.0,
@@ -818,7 +823,7 @@ def cross_match(self, full_qualified_table_name_a=None,
818823
upload_resource=None,
819824
upload_table_name=None)
820825

821-
def launch_job(self, query, name=None, output_file=None,
826+
def launch_job(self, query, *, name=None, output_file=None,
822827
output_format="votable", verbose=False,
823828
dump_to_file=False, upload_resource=None,
824829
upload_table_name=None):
@@ -861,7 +866,7 @@ def launch_job(self, query, name=None, output_file=None,
861866
upload_resource=upload_resource,
862867
upload_table_name=upload_table_name)
863868

864-
def launch_job_async(self, query, name=None, output_file=None,
869+
def launch_job_async(self, query, *, name=None, output_file=None,
865870
output_format="votable", verbose=False,
866871
dump_to_file=False, background=False,
867872
upload_resource=None, upload_table_name=None,

astroquery/gaia/tests/test_gaia_remote.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,19 @@ def test_cone_search_row_limit():
4040
Gaia = GaiaClass()
4141
coord = SkyCoord(ra=280, dec=-60, unit=(u.degree, u.degree), frame='icrs')
4242
radius = u.Quantity(0.1, u.deg)
43-
j = Gaia.cone_search_async(coord, radius)
43+
j = Gaia.cone_search_async(coord, radius=radius)
4444
r = j.get_results()
4545

4646
assert len(r) == Gaia.ROW_LIMIT
4747

4848
Gaia.ROW_LIMIT = 10
49-
j = Gaia.cone_search_async(coord, radius)
49+
j = Gaia.cone_search_async(coord, radius=radius)
5050
r = j.get_results()
5151

5252
assert len(r) == 10 == Gaia.ROW_LIMIT
5353

5454
Gaia.ROW_LIMIT = -1
55-
j = Gaia.cone_search_async(coord, radius)
55+
j = Gaia.cone_search_async(coord, radius=radius)
5656
r = j.get_results()
5757

5858
assert len(r) == 1218

astroquery/gaia/tests/test_gaiatap.py

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def mock_querier():
6060
launch_response.set_data(method="POST", body=job_data)
6161
# The query contains decimals: default response is more robust.
6262
conn_handler.set_default_response(launch_response)
63-
return GaiaClass(conn_handler, tapplus, show_server_messages=False)
63+
return GaiaClass(tap_plus_conn_handler=conn_handler, datalink_handler=tapplus, show_server_messages=False)
6464

6565

6666
@pytest.fixture(scope="module")
@@ -82,7 +82,7 @@ def mock_querier_async():
8282
results_response.set_data(method="GET", body=job_data)
8383
conn_handler.set_response("async/" + jobid + "/results/result", results_response)
8484

85-
return GaiaClass(conn_handler, tapplus, show_server_messages=False)
85+
return GaiaClass(tap_plus_conn_handler=conn_handler, datalink_handler=tapplus, show_server_messages=False)
8686

8787

8888
def test_show_message():
@@ -100,7 +100,7 @@ def test_show_message():
100100
connHandler.set_response(tableRequest, dummy_response)
101101

102102
tapplus = TapPlus("http://test:1111/tap", connhandler=connHandler)
103-
GaiaClass(connHandler, tapplus, show_server_messages=True)
103+
GaiaClass(tap_plus_conn_handler=connHandler, datalink_handler=tapplus, show_server_messages=True)
104104

105105

106106
def test_query_object(column_attrs, mock_querier):
@@ -140,7 +140,7 @@ def test_query_object_async(column_attrs, mock_querier_async):
140140

141141

142142
def test_cone_search_sync(column_attrs, mock_querier):
143-
job = mock_querier.cone_search(skycoord, 1 * u.deg)
143+
job = mock_querier.cone_search(skycoord, radius=1 * u.deg)
144144
assert job.async_ is False
145145
assert job.get_phase() == "COMPLETED"
146146
assert job.failed is False
@@ -153,7 +153,7 @@ def test_cone_search_sync(column_attrs, mock_querier):
153153

154154
def test_cone_search_async(column_attrs, mock_querier_async):
155155
radius = 1.0 * u.deg
156-
job = mock_querier_async.cone_search_async(skycoord, radius)
156+
job = mock_querier_async.cone_search_async(skycoord, radius=radius)
157157
assert job.async_ is True
158158
assert job.get_phase() == "COMPLETED"
159159
assert job.failed is False
@@ -168,17 +168,17 @@ def test_cone_search_async(column_attrs, mock_querier_async):
168168
# The preceding tests should have used the default value.
169169
assert 'gaiadr3.gaia_source' in job.parameters['query']
170170
with conf.set_temp("MAIN_GAIA_TABLE", "name_from_conf"):
171-
job = mock_querier_async.cone_search_async(skycoord, radius)
171+
job = mock_querier_async.cone_search_async(skycoord, radius=radius)
172172
assert "name_from_conf" in job.parameters["query"]
173173
# Changing the value through the class should overrule conf.
174174
mock_querier_async.MAIN_GAIA_TABLE = "name_from_class"
175-
job = mock_querier_async.cone_search_async(skycoord, radius)
175+
job = mock_querier_async.cone_search_async(skycoord, radius=radius)
176176
assert "name_from_class" in job.parameters["query"]
177177

178178

179179
def test_load_data():
180180
dummy_handler = DummyTapHandler()
181-
tap = GaiaClass(dummy_handler, dummy_handler, show_server_messages=False)
181+
tap = GaiaClass(tap_plus_conn_handler=dummy_handler, datalink_handler=dummy_handler, show_server_messages=False)
182182

183183
ids = "1,2,3,4"
184184
retrieval_type = "epoch_photometry"
@@ -211,11 +211,10 @@ def test_load_data():
211211

212212
def test_get_datalinks():
213213
dummy_handler = DummyTapHandler()
214-
tap = GaiaClass(dummy_handler, dummy_handler, show_server_messages=False)
214+
tap = GaiaClass(tap_plus_conn_handler=dummy_handler, datalink_handler=dummy_handler, show_server_messages=False)
215215
ids = ["1", "2", "3", "4"]
216-
verbose = True
217-
tap.get_datalinks(ids, verbose)
218-
dummy_handler.check_call("get_datalinks", {"ids": ids, "verbose": verbose})
216+
tap.get_datalinks(ids, verbose=True)
217+
dummy_handler.check_call("get_datalinks", {"ids": ids, "verbose": True})
219218

220219

221220
def test_xmatch(mock_querier_async):
@@ -310,11 +309,11 @@ def test_xmatch(mock_querier_async):
310309
def test_login(mock_login):
311310
conn_handler = DummyConnHandler()
312311
tapplus = TapPlus("http://test:1111/tap", connhandler=conn_handler)
313-
tap = GaiaClass(conn_handler, tapplus, show_server_messages=False)
314-
tap.login("user", "password")
312+
tap = GaiaClass(tap_plus_conn_handler=conn_handler, datalink_handler=tapplus, show_server_messages=False)
313+
tap.login(user="user", password="password")
315314
assert (mock_login.call_count == 2)
316315
mock_login.side_effect = HTTPError("Login error")
317-
tap.login("user", "password")
316+
tap.login(user="user", password="password")
318317
assert (mock_login.call_count == 3)
319318

320319

@@ -323,19 +322,19 @@ def test_login(mock_login):
323322
def test_login_gui(mock_login_gui, mock_login):
324323
conn_handler = DummyConnHandler()
325324
tapplus = TapPlus("http://test:1111/tap", connhandler=conn_handler)
326-
tap = GaiaClass(conn_handler, tapplus, show_server_messages=False)
325+
tap = GaiaClass(tap_plus_conn_handler=conn_handler, datalink_handler=tapplus, show_server_messages=False)
327326
tap.login_gui()
328327
assert (mock_login_gui.call_count == 1)
329328
mock_login_gui.side_effect = HTTPError("Login error")
330-
tap.login("user", "password")
329+
tap.login(user="user", password="password")
331330
assert (mock_login.call_count == 1)
332331

333332

334333
@patch.object(TapPlus, 'logout')
335334
def test_logout(mock_logout):
336335
conn_handler = DummyConnHandler()
337336
tapplus = TapPlus("http://test:1111/tap", connhandler=conn_handler)
338-
tap = GaiaClass(conn_handler, tapplus, show_server_messages=False)
337+
tap = GaiaClass(tap_plus_conn_handler=conn_handler, datalink_handler=tapplus, show_server_messages=False)
339338
tap.logout()
340339
assert (mock_logout.call_count == 2)
341340
mock_logout.side_effect = HTTPError("Login error")

docs/gaia/gaia.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,7 @@ radius argument.
164164
>>>
165165
>>> Gaia.ROW_LIMIT = 50 # Ensure the default row limit.
166166
>>> coord = SkyCoord(ra=280, dec=-60, unit=(u.degree, u.degree), frame='icrs')
167-
>>> radius = u.Quantity(1.0, u.deg)
168-
>>> j = Gaia.cone_search_async(coord, radius)
167+
>>> j = Gaia.cone_search_async(coord, radius=u.Quantity(1.0, u.deg))
169168
INFO: Query finished. [astroquery.utils.tap.core]
170169
>>> r = j.get_results()
171170
>>> r.pprint()

0 commit comments

Comments
 (0)