"""Return the top 10 asteroids farthest from the Sun""" from mpc_client.query import Query q = Query() q.limit(10) q.filter(aphelion_distance='is_not_null') q.order('aphelion_distance', desc=True) for asteroid in q: print asteroid.designation, asteroid.orbit.aphelion_distance
"""Save a query to a local file for use later""" from mpc_client.query import Query q = Query() q.limit(100) q.save_to_file('first_100_asteroids.json')
def test_filter_parameters(self): """Adding a filter should append a string to parameters""" q = Query() q.filter(hello="World") self.assertEqual(q._parameters['hello'], "World")
def test_limit(self): """A query with a limit filter should return exactly that many results (we assume there are that many to return)""" q = Query().limit(13) q.run() self.assertEqual(len(q._results), 13)
def test_change_order(self): """Overriding an order paramter by a descending order parameter should remove the original parameter altogether""" q = Query().order("something") q.order("something_else", desc=True) self.assertIsNone(q._parameters.get('order_by', None))
def test_default_order(self): """Adding an order parameter should update parameters""" q = Query() q.order('hello') self.assertEqual(q._parameters['order_by'], "hello")