def testRemoveParameter(self):
     folder = os.path.join(os.path.dirname(ModelerAlgorithmProvider.__file__), "models")
     modelfile = os.path.join(folder, "watersheds.model")
     model = ModelerAlgorithm()
     model.openModel(modelfile)
     self.assertTrue(2, len(model.parameters))
     self.assertFalse(model.removeParameter(0))
     self.assertTrue(2, len(model.parameters))
 def testRemoveParameter(self):
     folder = os.path.join(os.path.dirname(ModelerAlgorithmProvider.__file__), "models")
     modelfile = os.path.join(folder, "watersheds.model")
     model = ModelerAlgorithm()
     model.openModel(modelfile)
     self.assertTrue(2, len(model.parameters))
     self.assertFalse(model.removeParameter(0))
     self.assertTrue(2, len(model.parameters))
Beispiel #3
0
def modelSuite(modelFile, dialog="none", threaded=True, unthreaded=True):
    s = unittest.TestSuite()
    model = ModelerAlgorithm()
    model.openModel(modelFile)
    if model.provider is None:  # might happen if model is opened from modeler dialog
        model.provider = Providers.providers["model"]
    if threaded:
        s.addTest(SextanteProviderTestCase(modelFile, model, True, dialog))
    if unthreaded:
        s.addTest(SextanteProviderTestCase(modelFile, model, False, dialog))
    return s
Beispiel #4
0
def modelSuite(modelFile, dialog = "none", threaded = True, unthreaded = True):
    s = unittest.TestSuite()
    model = ModelerAlgorithm()
    model.openModel(modelFile)
    if model.provider is None: # might happen if model is opened from modeler dialog
        model.provider = Providers.providers["model"]
    if threaded:
        s.addTest(SextanteProviderTestCase(modelFile, model, True, dialog))
    if unthreaded:
        s.addTest(SextanteProviderTestCase(modelFile, model, False, dialog))
    return s
 def _loadAlgorithms(self):
     folder = ModelerUtils.modelsFolder()
     for descriptionFile in os.listdir(folder):
         if descriptionFile.endswith("model"):
             try:
                 alg = ModelerAlgorithm()
                 fullpath = os.path.join(ModelerUtils.modelsFolder(),descriptionFile)
                 alg.openModel(fullpath)
                 if alg.name.strip() != "":
                     alg.provider = self
                     self.algs.append(alg)
             except WrongModelException,e:
                 SextanteLog.addToLog(SextanteLog.LOG_ERROR,"Could not load model " + descriptionFile + "\n" + e.msg)
 def _loadAlgorithms(self):
     folder = ModelerUtils.modelsFolder()
     for descriptionFile in os.listdir(folder):
         if descriptionFile.endswith("model"):
             try:
                 alg = ModelerAlgorithm()
                 fullpath = os.path.join(ModelerUtils.modelsFolder(),descriptionFile)
                 alg.openModel(fullpath)
                 if alg.name.strip() != "":
                     alg.provider = self
                     self.algs.append(alg)
             except WrongModelException,e:
                 SextanteLog.addToLog(SextanteLog.LOG_ERROR,"Could not load model " + descriptionFile + "\n" + e.msg)
 def loadFromFolder(self,folder):
     if not os.path.exists(folder):
         return
     for descriptionFile in os.listdir(folder):
         if descriptionFile.endswith("model"):
             try:
                 alg = ModelerAlgorithm()
                 fullpath = os.path.join(folder ,descriptionFile)
                 alg.openModel(fullpath)
                 if alg.name.strip() != "":
                     alg.provider = self
                     self.algs.append(alg)
             except WrongModelException,e:
                 SextanteLog.addToLog(SextanteLog.LOG_ERROR,"Could not load model " + descriptionFile + "\n" + e.msg)
 def loadFromFolder(self, folder):
     if not os.path.exists(folder):
         return
     for descriptionFile in os.listdir(folder):
         if descriptionFile.endswith("model"):
             try:
                 alg = ModelerAlgorithm()
                 fullpath = os.path.join(folder, descriptionFile)
                 alg.openModel(fullpath)
                 if alg.name.strip() != "":
                     alg.provider = self
                     self.algs.append(alg)
             except WrongModelException, e:
                 SextanteLog.addToLog(
                     SextanteLog.LOG_ERROR, "Could not load model " +
                     descriptionFile + "\n" + e.msg)
 def testRemoveAlgorithm(self):
     folder = os.path.join(os.path.dirname(ModelerAlgorithmProvider.__file__), "models")
     modelfile = os.path.join(folder, "noinputs.model")
     model = ModelerAlgorithm()
     model.openModel(modelfile)
     model.provider = Providers.providers['model']
     self.assertTrue(2, len(model.algs))
     self.assertFalse(model.removeAlgorithm(0))
     self.assertTrue(model.removeAlgorithm(len(model.algs) - 1));
     model.execute(None)
     outputs = model.outputs
     self.assertEquals(1, len(outputs))
     output=outputs[0].value
     self.assertTrue(os.path.exists(output))
Beispiel #10
0
 def testRemoveAlgorithm(self):
     folder = os.path.join(
         os.path.dirname(ModelerAlgorithmProvider.__file__), "models")
     modelfile = os.path.join(folder, "noinputs.model")
     model = ModelerAlgorithm()
     model.openModel(modelfile)
     self.assertTrue(2, len(model.algs))
     self.assertFalse(model.removeAlgorithm(0))
     self.assertTrue(model.removeAlgorithm(len(model.algs) - 1))
     outputs = model.execute(None)
     self.assertEquals(2, len(outputs))
     output = outputs['SAVENAME_ALG0']
     layer = QGisLayers.getObjectFromUri(output, True)
     self.assertIsNone(layer)
 def testRemoveAlgorithm(self):
     folder = os.path.join(os.path.dirname(ModelerAlgorithmProvider.__file__), "models")
     modelfile = os.path.join(folder, "noinputs.model")
     model = ModelerAlgorithm()
     model.openModel(modelfile)
     self.assertTrue(2, len(model.algs))
     self.assertFalse(model.removeAlgorithm(0))
     self.assertTrue(model.removeAlgorithm(len(model.algs) - 1));
     outputs = model.execute(None)
     self.assertEquals(2, len(outputs))
     output=outputs['SAVENAME_ALG0']
     layer=QGisLayers.getObjectFromUri(output, True)
     self.assertIsNone(layer)
    def testComputingDependecies(self):
        folder = os.path.join(os.path.dirname(ModelerAlgorithmProvider.__file__), "models")
        modelfile = os.path.join(folder, "watersheds.model")
        model = ModelerAlgorithm()
        model.openModel(modelfile)
        self.assertTrue(2, len(model.parameters))
        self.assertTrue(5, len(model.algs))
        dependent = model.getDependentAlgorithms(0)
        self.assertEquals([0,1,2,3,4], dependent)
        dependent = model.getDependentAlgorithms(1)
        self.assertEquals([1,2,3,4], dependent)
        dependent = model.getDependentAlgorithms(2)
        self.assertEquals([2,3,4], dependent)
        dependent = model.getDependentAlgorithms(3)
        self.assertEquals([3,4], dependent)
        dependent = model.getDependentAlgorithms(4)
        self.assertEquals([4], dependent)

        depends = model.getDependsOnAlgorithms(0)
        self.assertEquals([], depends)
        depends = model.getDependsOnAlgorithms(1)
        self.assertEquals([0], depends)
        depends = model.getDependsOnAlgorithms(2)
        self.assertEquals([1,0], depends)
        depends = model.getDependsOnAlgorithms(3)
        self.assertEquals([2,1,0], depends)
        depends = model.getDependsOnAlgorithms(4)
        self.assertEquals([3,2,1,0], depends)
    def testComputingDependecies(self):
        folder = os.path.join(os.path.dirname(ModelerAlgorithmProvider.__file__), "models")
        modelfile = os.path.join(folder, "watersheds.model")
        model = ModelerAlgorithm()
        model.openModel(modelfile)
        self.assertTrue(2, len(model.parameters))
        self.assertTrue(5, len(model.algs))
        dependent = model.getDependentAlgorithms(0)
        self.assertEquals([0,1,2,3,4], dependent)
        dependent = model.getDependentAlgorithms(1)
        self.assertEquals([1,2,3,4], dependent)
        dependent = model.getDependentAlgorithms(2)
        self.assertEquals([2,3,4], dependent)
        dependent = model.getDependentAlgorithms(3)
        self.assertEquals([3,4], dependent)
        dependent = model.getDependentAlgorithms(4)
        self.assertEquals([4], dependent)

        depends = model.getDependsOnAlgorithms(0)
        self.assertEquals([], depends)
        depends = model.getDependsOnAlgorithms(1)
        self.assertEquals([0], depends)
        depends = model.getDependsOnAlgorithms(2)
        self.assertEquals([1,0], depends)
        depends = model.getDependsOnAlgorithms(3)
        self.assertEquals([2,1,0], depends)
        depends = model.getDependsOnAlgorithms(4)
        self.assertEquals([3,2,1,0], depends)