Esempio n. 1
0
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
Esempio n. 2
0
    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
Esempio n. 3
0
 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
Esempio n. 4
0
    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
Esempio n. 5
0
    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)