def on_get(self, request, response): """Search unique resource attributes. Search is made from all content categories by default. Args: request (obj): Falcon Request(). response (obj): Falcon Response(). """ self._logger.debug('run: %s %s', request.method, request.uri) if 'scat' not in request.params: request.params['scat'] = Const.CATEGORIES api = Api(self._category, Api.UNIQUE, request.params) Config.load(api) self._content.run() if not self._content.uniques: Cause.push( Cause.HTTP_NOT_FOUND, 'cannot find unique fields for %s attribute' % self._category) if Cause.is_ok(): response.content_type = ApiResource.MEDIA_JSON_API response.body = Generate.fields(self._category, self._content.uniques, request, response) response.status = Cause.http_status() else: response.content_type = ApiResource.MEDIA_JSON_API response.body = Generate.error(Cause.json_message()) response.status = Cause.http_status() Cause.reset() self._logger.debug('end: %s %s', request.method, request.uri)
def on_get(self, request, response, scat=None, sall=None, stag=None, sgrp=None): """Search unique groups. By default the search is made from all content categories. Args: request (obj): Falcon Request(). response (obj): Falcon Response(). scat (str): Search categories ``scat`` path parameter. sall (str): Search all ``sall`` path parameter. stag (str): Search tags ``stag`` path parameter. sgrp (str): Search groups ``sgrp`` path parameter. """ self._logger.debug('run: %s %s', request.method, request.uri) if scat: request.params['scat'] = scat else: request.params['scat'] = Const.CATEGORIES if sall: request.params['sall'] = sall if stag: request.params['stag'] = stag if sgrp: request.params['sgrp'] = sgrp api = Api(self._category, Api.UNIQUE, request.params) Config.load(api) self._content.run() if not self._content.uniques: Cause.push(Cause.HTTP_NOT_FOUND, 'cannot find unique fields for groups attribute') if Cause.is_ok(): response.content_type = ApiResource.MEDIA_JSON_API response.body = Generate.fields('groups', self._content.uniques, request, response) response.status = Cause.http_status() else: response.content_type = ApiResource.MEDIA_JSON_API response.body = Generate.error(Cause.json_message()) response.status = Cause.http_status() Cause.reset() self._logger.debug('end: %s %s', request.method, request.uri)