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