Пример #1
0
 def testSetValue(self):
     parameter = ParameterBoolean('myName', 'myDescription')
     self.assertEqual(parameter.value, None)
     parameter.setValue(False)
     self.assertEqual(parameter.value, False)
     parameter.setValue(True)
     self.assertEqual(parameter.value, True)
Пример #2
0
 def testSetValue(self):
     parameter = ParameterBoolean("myName", "myDescription")
     self.assertEqual(parameter.value, None)
     parameter.setValue(False)
     self.assertEqual(parameter.value, False)
     parameter.setValue(True)
     self.assertEqual(parameter.value, True)
Пример #3
0
 def testDefault(self):
     parameter = ParameterBoolean('myName',
                                  'myDescription',
                                  default=False,
                                  optional=True)
     self.assertEqual(parameter.value, False)
     parameter.setValue(None)
     self.assertEqual(parameter.value, None)
Пример #4
0
    def testOptional(self):
        optionalParameter = ParameterBoolean("myName", "myDescription", default=False, optional=True)
        self.assertEqual(optionalParameter.value, False)
        optionalParameter.setValue(True)
        self.assertEqual(optionalParameter.value, True)
        self.assertTrue(optionalParameter.setValue(None))
        self.assertEqual(optionalParameter.value, None)

        requiredParameter = ParameterBoolean("myName", "myDescription", default=False, optional=False)
        self.assertEqual(requiredParameter.value, False)
        requiredParameter.setValue(True)
        self.assertEqual(requiredParameter.value, True)
        self.assertFalse(requiredParameter.setValue(None))
        self.assertEqual(requiredParameter.value, True)
Пример #5
0
    def testOptional(self):
        optionalParameter = ParameterBoolean('myName', 'myDescription', default=False, optional=True)
        self.assertEqual(optionalParameter.value, False)
        optionalParameter.setValue(True)
        self.assertEqual(optionalParameter.value, True)
        self.assertTrue(optionalParameter.setValue(None))
        self.assertEqual(optionalParameter.value, None)

        requiredParameter = ParameterBoolean('myName', 'myDescription', default=False, optional=False)
        self.assertEqual(requiredParameter.value, False)
        requiredParameter.setValue(True)
        self.assertEqual(requiredParameter.value, True)
        self.assertFalse(requiredParameter.setValue(None))
        self.assertEqual(requiredParameter.value, True)
Пример #6
0
 def testDefault(self):
     parameter = ParameterBoolean("myName", "myDescription", default=False, optional=True)
     self.assertEqual(parameter.value, False)
     parameter.setValue(None)
     self.assertEqual(parameter.value, None)
Пример #7
0
    def defineCharacteristics(self):
        # WPS Data Inputs
        for key, value in self.process.getDataInputs().iteritems():
            optionalBoolean = value.getMinOccurs() != 1
            required = u' (※)' if value.getMinOccurs() == 1 else u''
            paramIdentifier = value.getIdentifier()
            paramTitle = value.getTitle() + required

            if isinstance(value, WPSLiteralData):
                # string, double, int, boolean
                defaultValue = value.getDefaultValue()
                param = None
                if value.getType() == LiteralType.BOOLEAN:
                    param = ParameterBoolean(paramIdentifier, paramTitle)
                elif value.getType() == LiteralType.FLOAT:
                    param = ParameterNumber(paramIdentifier, paramTitle)
                    param.isInteger = False
                elif value.getType() == LiteralType.INT:
                    param = ParameterNumber(paramIdentifier, paramTitle)
                    param.isInteger = True
                else:
                    if value.getAllowedValues():
                        param = ParameterSelection2(paramIdentifier,
                                                    paramTitle,
                                                    value.getAllowedValues())
                    else:
                        param = ParameterString(paramIdentifier,
                                                paramTitle,
                                                optional=optionalBoolean)

                if defaultValue:
                    param.setValue(defaultValue)

                self.addParameter(param)
            elif isinstance(value, WPSComplexData):
                # geometry, featurecollection, gridcoverage, xml
                param = None
                if value.getType() == ComplexType.VECTOR:
                    # select vector layer
                    param = ParameterVector(paramIdentifier,
                                            paramTitle,
                                            optional=optionalBoolean)
                elif value.getType() == ComplexType.RASTER:
                    # select raster layer
                    param = ParameterRaster(paramIdentifier,
                                            paramTitle,
                                            optional=optionalBoolean)
                elif value.getType() == ComplexType.GEOMETRY:
                    # use WKT format
                    param = ParameterString(paramIdentifier,
                                            paramTitle,
                                            multiline=True,
                                            optional=optionalBoolean)
                elif value.getType() == ComplexType.FILTER:
                    # use ECQL expression
                    param = ParameterString(paramIdentifier,
                                            paramTitle,
                                            multiline=True,
                                            optional=optionalBoolean)
                elif value.getType() == ComplexType.XML:
                    # use XML Expression
                    param = ParameterString(paramIdentifier,
                                            paramTitle,
                                            multiline=True,
                                            optional=optionalBoolean)

                self.addParameter(param)
            elif isinstance(value, WPSBoundingBoxData):
                # default = current map layer's minimum extent & crs
                param = ParameterExtent(paramIdentifier, paramTitle)

                # The value is a string in the form "xmin, xmax, ymin, ymax"
                extent = iface.mapCanvas().extent()
                default_extent = str(extent.xMinimum()) + ',' + str(extent.xMaximum()) + ',' \
                    + str(extent.yMinimum()) + ',' + str(extent.yMaximum())
                param.setValue(default_extent)
                self.addParameter(param)

        # WPS Process Outputs
        # OutputString --> OutputHTML
        for key, value in self.process.getProcessOutputs().iteritems():
            if isinstance(value, WPSLiteralOutput):
                # string, float, int, boolean
                self.addOutput(
                    OutputHTML(value.getIdentifier(), value.getTitle()))
            elif isinstance(value, WPSComplexOutput):
                # geometry, featurecollection, gridcoverage, xml
                if value.getType() == ComplexType.VECTOR:
                    self.addOutput(
                        OutputVector(value.getIdentifier(), value.getTitle()))
                elif value.getType() == ComplexType.RASTER:
                    self.addOutput(
                        OutputRaster(value.getIdentifier(), value.getTitle()))
                elif value.getType() == ComplexType.XML:
                    self.addOutput(
                        OutputHTML(value.getIdentifier(), value.getTitle()))
                elif value.getType() == ComplexType.FILTER:
                    self.addOutput(
                        OutputHTML(value.getIdentifier(), value.getTitle()))
                elif value.getType() == ComplexType.GEOMETRY:
                    # return WKT and save shapefile
                    self.addOutput(
                        OutputVector(value.getIdentifier(), value.getTitle()))