def _getQueryParms(self): ''' Extract constraints from the querystring kwargs to construct a dictionary of query parameters that can be used as a filter for MeasuredParameters. Handles all constraints except parameter value constraints. ''' qparams = {} self.logger.info('self.kwargs = %s', pprint.pformat(self.kwargs)) if self.kwargs.has_key('measuredparametersgroup'): if self.kwargs['measuredparametersgroup']: qparams['parameter__name__in'] = self.kwargs[ 'measuredparametersgroup'] if self.kwargs.has_key('sampledparametersgroup'): if self.kwargs['sampledparametersgroup']: qparams['parameter__name__in'] = self.kwargs[ 'sampledparametersgroup'] if self.kwargs.has_key('parameterstandardname'): if self.kwargs['parameterstandardname']: qparams['parameter__standard_name__in'] = self.kwargs[ 'parameterstandardname'] if self.kwargs.has_key('platforms'): if self.kwargs['platforms']: qparams[ 'measurement__instantpoint__activity__platform__name__in'] = self.kwargs[ 'platforms'] if self.kwargs.has_key('time'): if self.kwargs['time'][0] is not None: qparams[ 'measurement__instantpoint__timevalue__gte'] = self.kwargs[ 'time'][0] if self.kwargs['time'][1] is not None: qparams[ 'measurement__instantpoint__timevalue__lte'] = self.kwargs[ 'time'][1] if self.kwargs.has_key('depth'): if self.kwargs['depth'][0] is not None: qparams['measurement__depth__gte'] = self.kwargs['depth'][0] if self.kwargs['depth'][1] is not None: qparams['measurement__depth__lte'] = self.kwargs['depth'][1] if 'mplabels' in self.kwargs: if self.kwargs['mplabels']: qparams['id__in'] = MeasuredParameterResource.objects.using( self.request.META['dbAlias']).filter( resource__id__in=self.kwargs['mplabels']).values_list( 'measuredparameter__id', flat=True) if getGet_Actual_Count(self.kwargs): # Make sure that we have at least time so that the instantpoint table is included if not qparams.has_key( 'measurement__instantpoint__timevalue__gte'): qparams['measurement__instantpoint__pk__isnull'] = False self.logger.debug('qparams = %s', pprint.pformat(qparams)) return qparams
def _getQueryParms(self): ''' Extract constraints from the querystring kwargs to construct a dictionary of query parameters that can be used as a filter for MeasuredParameters. Handles all constraints except parameter value constraints. ''' qparams = {} self.logger.info('self.kwargs = %s', pprint.pformat(self.kwargs)) if self.kwargs.has_key('measuredparametersgroup'): if self.kwargs['measuredparametersgroup']: qparams['parameter__name__in'] = self.kwargs['measuredparametersgroup'] if self.kwargs.has_key('sampledparametersgroup'): if self.kwargs['sampledparametersgroup']: qparams['parameter__name__in'] = self.kwargs['sampledparametersgroup'] if self.kwargs.has_key('parameterstandardname'): if self.kwargs['parameterstandardname']: qparams['parameter__standard_name__in'] = self.kwargs['parameterstandardname'] if self.kwargs.has_key('platforms'): if self.kwargs['platforms']: qparams['measurement__instantpoint__activity__platform__name__in'] = self.kwargs['platforms'] if self.kwargs.has_key('time'): if self.kwargs['time'][0] is not None: qparams['measurement__instantpoint__timevalue__gte'] = self.kwargs['time'][0] if self.kwargs['time'][1] is not None: qparams['measurement__instantpoint__timevalue__lte'] = self.kwargs['time'][1] if self.kwargs.has_key('depth'): if self.kwargs['depth'][0] is not None: qparams['measurement__depth__gte'] = self.kwargs['depth'][0] if self.kwargs['depth'][1] is not None: qparams['measurement__depth__lte'] = self.kwargs['depth'][1] if 'mplabels' in self.kwargs: if self.kwargs['mplabels' ]: qparams['id__in'] = MeasuredParameterResource.objects.using(self.request.META['dbAlias']).filter( resource__id__in=self.kwargs['mplabels' ]).values_list('measuredparameter__id', flat=True) if getGet_Actual_Count(self.kwargs): # Make sure that we have at least time so that the instantpoint table is included if not qparams.has_key('measurement__instantpoint__timevalue__gte'): qparams['measurement__instantpoint__pk__isnull'] = False self.logger.debug('qparams = %s', pprint.pformat(qparams)) return qparams
def _getQueryParms(self, group=MEASUREDINSITU): """ Extract constraints from the querystring kwargs to construct a dictionary of query parameters that can be used as a filter for MeasuredParameters. Handles all constraints except parameter value constraints. """ qparams = {} ##logger.debug('self.kwargs = %s', pprint.pformat(self.kwargs)) logger.debug("group = %s", group) if group == SAMPLED: if "sampledparametersgroup" in self.kwargs: if self.kwargs["sampledparametersgroup"]: qparams["parameter__id__in"] = self.kwargs["sampledparametersgroup"] if "parameterstandardname" in self.kwargs: if self.kwargs["parameterstandardname"]: qparams["parameter__standard_name__in"] = self.kwargs["parameterstandardname"] if "platforms" in self.kwargs: if self.kwargs["platforms"]: qparams["sample__instantpoint__activity__platform__name__in"] = self.kwargs["platforms"] if "time" in self.kwargs: if self.kwargs["time"][0] is not None: qparams["sample__instantpoint__timevalue__gte"] = self.kwargs["time"][0] if self.kwargs["time"][1] is not None: qparams["sample__instantpoint__timevalue__lte"] = self.kwargs["time"][1] if "depth" in self.kwargs: if self.kwargs["depth"][0] is not None: qparams["sample__depth__gte"] = self.kwargs["depth"][0] if self.kwargs["depth"][1] is not None: qparams["sample__depth__lte"] = self.kwargs["depth"][1] if getGet_Actual_Count(self.kwargs): # Make sure that we have at least time so that the instantpoint table is included if not "sample__instantpoint__timevalue__gte" in qparams: qparams["sample__instantpoint__pk__isnull"] = False else: if self.kwargs.has_key("measuredparametersgroup"): if self.kwargs["measuredparametersgroup"]: qparams["parameter__name__in"] = self.kwargs["measuredparametersgroup"] if self.kwargs.has_key("parameterstandardname"): if self.kwargs["parameterstandardname"]: qparams["parameter__standard_name__in"] = self.kwargs["parameterstandardname"] if self.kwargs.has_key("platforms"): if self.kwargs["platforms"]: qparams["measurement__instantpoint__activity__platform__name__in"] = self.kwargs["platforms"] if self.kwargs.has_key("time"): if self.kwargs["time"][0] is not None: qparams["measurement__instantpoint__timevalue__gte"] = self.kwargs["time"][0] if self.kwargs["time"][1] is not None: qparams["measurement__instantpoint__timevalue__lte"] = self.kwargs["time"][1] if self.kwargs.has_key("depth"): if self.kwargs["depth"][0] is not None: qparams["measurement__depth__gte"] = self.kwargs["depth"][0] if self.kwargs["depth"][1] is not None: qparams["measurement__depth__lte"] = self.kwargs["depth"][1] if "mplabels" in self.kwargs: if self.kwargs["mplabels"]: qparams["measurement__id__in"] = ( MeasuredParameterResource.objects.using(self.request.META["dbAlias"]) .filter(resource__id__in=self.kwargs["mplabels"]) .values_list("measuredparameter__measurement__id", flat=True) ) if getGet_Actual_Count(self.kwargs): # Make sure that we have at least time so that the instantpoint table is included if not qparams.has_key("measurement__instantpoint__timevalue__gte"): qparams["measurement__instantpoint__pk__isnull"] = False logger.debug("qparams = %s", pprint.pformat(qparams)) return qparams