def get_query_params(release, paramdisplay): q = Query(mode='local', release=release) if paramdisplay == 'best': qparams = bestparams else: qparams = q.get_available_params('all') return qparams
def getparamslist(self, args): ''' Retrieve a list of all available input parameters into the query .. :quickref: Query; Get a list of all or "best" queryable parameters :query string release: the release of MaNGA :form paramdisplay: ``all`` or ``best``, type of parameters to return :resjson int status: status of response. 1 if good, -1 if bad. :resjson string error: error message, null if None :resjson json inconfig: json of incoming configuration :resjson json utahconfig: json of outcoming configuration :resjson string traceback: traceback of an error, null if None :resjson string data: dictionary of returned data :json list params: the list of queryable parameters :resheader Content-Type: application/json :statuscode 200: no error :statuscode 422: invalid input parameters **Example request**: .. sourcecode:: http GET /marvin/api/query/getparamslist/ HTTP/1.1 Host: api.sdss.org Accept: application/json, */* **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json { "status": 1, "error": null, "inconfig": {"release": "MPL-5"}, "utahconfig": {"release": "MPL-5", "mode": "local"}, "traceback": null, "data": ['nsa.z', 'cube.ra', 'cube.dec', ...] } ''' paramdisplay = args.pop('paramdisplay', 'all') if paramdisplay == 'all': try: params = Query.get_available_params('all', release=args['release']) except MarvinError as e: self.results['error'] = str(e) self.results['traceback'] = get_traceback(asstring=True) self.results['status'] = -1 return jsonify(self.results) elif paramdisplay == 'best': params = bestparams self.results['data'] = params self.results['status'] = 1 output = jsonify(self.results) return output
def getall(self): ''' Retrieve all the query parameters for all releases at once ''' params = {} releases = config._allowed_releases.keys() for release in releases: params[release] = Query.get_available_params('all', release=release) self.results['data'] = params self.results['status'] = 1 output = jsonify(self.results) return output
def getparams(self, paramdisplay): ''' Retrieves the list of query parameters for Bloodhound Typeahead ''' # set the paramdisplay if it is not if not paramdisplay: paramdisplay = 'best' # run query and retrieve parameters q = Query(release=self._release) if paramdisplay == 'all': params = q.get_available_params('all') elif paramdisplay == 'best': params = bestparams output = jsonify(params) return output
def _get_params(self, pdisp, mode='local', expcount=None, inlist=None, outlist=None): if mode == 'remote': self._set_remote() q = Query(mode=mode) if pdisp == 'all': keys = q.get_available_params() self.assertGreaterEqual(len(keys), expcount) elif pdisp == 'best': keys = q.get_best_params() self.assertLessEqual(len(keys), expcount) for i in inlist: self.assertIn(i, keys) if outlist: for o in outlist: self.assertNotIn(o, keys)