Example #1
0
 def test29LanguageTranslation(self):
     """Test if title,abstract of process and I/O is translated"""
     self._setFromEnv()
     pywps.config.setConfigValue("wps","lang","en-CA,pt-PT")
     from pywps.Wps import Request
     
     wps=pywps.Pywps(pywps.METHOD_GET)
     wps.inputs={'request': 'getCapabilities', 'version': '1.0.0', 'service': 'wps'}
     request=Request(wps)
     returnerProcess=request.getProcess("returner")
     #process related
     returnerProcess.lang.strings["pt-PT"]["Return process"]="Processo de retorno"
     returnerProcess.lang.strings["pt-PT"]["This is demonstration process of PyWPS, returns the same file, it gets on input, as the output."]="Este eh um processo de demonstracao de PyWPS, retorna o mesmo ficheiro, o que ele recebe como entrada sai como saida"
     #inputs: data-->ComplexInput, text--: literal
     returnerProcess.lang.strings["pt-PT"]["Input vector data"]="Dados vectoriais de entrada"
     returnerProcess.lang.strings["pt-PT"]["Some width"]="Alguma largura"
     
     returnerProcess.inputs["data"].abstract="Complex data abstract dummy"
     returnerProcess.inputs["text"].abstract="Literal abstract dummy"
     returnerProcess.lang.strings["pt-PT"]["Complex data abstract dummy"]="Resumo teste de dados complexos"
     returnerProcess.lang.strings["pt-PT"]["Literal abstract dummy"]="Resumo teste de sequencia de caracteres"
     
     #outputs: output-->complexOutput, text-->literal data
     returnerProcess.lang.strings["pt-PT"]["Output vector data"]="Dados vectoriais de saida"
     returnerProcess.lang.strings["pt-PT"]["Output literal data"]="Sequencia de caracteres de saida"
     
     returnerProcess.outputs["output"].abstract="Complex output data abstract dummy"
     returnerProcess.outputs["text"].abstract="Literal output data abstract dummy"
     returnerProcess.lang.strings["pt-PT"]["Complex output data abstract dummy"]="Resumo teste de dados de saida complexos"
     returnerProcess.lang.strings["pt-PT"]["Literal output data abstract dummy"]="Resumo teste de sequencia de caracteres de saida"
        
     ptTranslations=[]
     for key in returnerProcess.lang.strings["pt-PT"].keys():
         ptTranslations.append(returnerProcess.lang.strings["pt-PT"][key])
 
     resultWPS=wps.performRequest(wps.parseRequest("service=wps&version=1.0.0&request=describeProcess&identifier=returner&language=pt-PT"),processes=[returnerProcess])
     wpsTree=etree.fromstring(resultWPS)
     
     #print wps.performRequest(wps.parseRequest("service=wps&version=1.0.0&request=describeProcess&identifier=returner&language=pt-PT"),processes=[returnerProcess])
     
     self.assertTrue(wpsTree.xpath("//ProcessDescription/ows:Title/text()",namespaces=wpsTree.nsmap)[0] in ptTranslations)
     self.assertTrue(wpsTree.xpath("//ProcessDescription/ows:Abstract/text()",namespaces=wpsTree.nsmap)[0] in ptTranslations)
     inputTitles=wpsTree.xpath("//DataInputs/Input/ows:Title/text()",namespaces=wpsTree.nsmap)
     inputAbstracts=wpsTree.xpath("//DataInputs/Input/ows:Abstract/text()",namespaces=wpsTree.nsmap)
     self.assertTrue((set(inputTitles) <= set(ptTranslations)) and len(inputTitles)!=0)
     self.assertTrue((set(inputAbstracts) <= set(ptTranslations)) and len(inputAbstracts)!=0)
     outputTitles=wpsTree.xpath("//ProcessOutputs/Output/ows:Title/text()",namespaces=wpsTree.nsmap)
     outputAbstracts=wpsTree.xpath("//DataInputs/Input/ows:Abstract/text()",namespaces=wpsTree.nsmap)
     self.assertTrue((set(outputTitles) <= set(ptTranslations)) and len(outputTitles)!=0)
Example #2
0
    def test29LanguageTranslation(self):
        """Test if title,abstract of process and I/O is translated"""
        self._setFromEnv()
        pywps.config.setConfigValue("wps", "lang", "en-CA,pt-PT")
        from pywps.Wps import Request

        wps = pywps.Pywps(pywps.METHOD_GET)
        wps.inputs = {'request': 'getCapabilities',
                      'version': '1.0.0', 'service': 'wps'}
        request = Request(wps)
        returnerProcess = request.getProcess("returner")
        # process related
        returnerProcess.lang.strings[
            "pt-PT"]["Return process"] = "Processo de retorno"
        returnerProcess.lang.strings[
            "pt-PT"]["This is demonstration process of PyWPS, returns the same file, it gets on input, as the output."] = "Este eh um processo de demonstracao de PyWPS, retorna o mesmo ficheiro, o que ele recebe como entrada sai como saida"
        # inputs: data-->ComplexInput, text--: literal
        returnerProcess.lang.strings[
            "pt-PT"]["Input vector data"] = "Dados vectoriais de entrada"
        returnerProcess.lang.strings["pt-PT"]["Some width"] = "Alguma largura"

        returnerProcess.inputs["data"].abstract = "Complex data abstract dummy"
        returnerProcess.inputs["text"].abstract = "Literal abstract dummy"
        returnerProcess.lang.strings[
            "pt-PT"]["Complex data abstract dummy"] = "Resumo teste de dados complexos"
        returnerProcess.lang.strings[
            "pt-PT"]["Literal abstract dummy"] = "Resumo teste de sequencia de caracteres"

        # outputs: output-->complexOutput, text-->literal data
        returnerProcess.lang.strings[
            "pt-PT"]["Output vector data"] = "Dados vectoriais de saida"
        returnerProcess.lang.strings[
            "pt-PT"]["Output literal data"] = "Sequencia de caracteres de saida"

        returnerProcess.outputs[
            "output"].abstract = "Complex output data abstract dummy"
        returnerProcess.outputs[
            "text"].abstract = "Literal output data abstract dummy"
        returnerProcess.lang.strings[
            "pt-PT"]["Complex output data abstract dummy"] = "Resumo teste de dados de saida complexos"
        returnerProcess.lang.strings[
            "pt-PT"]["Literal output data abstract dummy"] = "Resumo teste de sequencia de caracteres de saida"

        ptTranslations = []
        for key in returnerProcess.lang.strings["pt-PT"].keys():
            ptTranslations.append(returnerProcess.lang.strings["pt-PT"][key])

        resultWPS = wps.performRequest(wps.parseRequest(
            "service=wps&version=1.0.0&request=describeProcess&identifier=returner&language=pt-PT"), processes=[returnerProcess])
        wpsTree = etree.fromstring(resultWPS)

        # print
        # wps.performRequest(wps.parseRequest("service=wps&version=1.0.0&request=describeProcess&identifier=returner&language=pt-PT"),processes=[returnerProcess])

        self.assertTrue(wpsTree.xpath("//ProcessDescription/ows:Title/text()",
                                      namespaces=wpsTree.nsmap)[0] in ptTranslations)
        self.assertTrue(wpsTree.xpath("//ProcessDescription/ows:Abstract/text()",
                                      namespaces=wpsTree.nsmap)[0] in ptTranslations)
        inputTitles = wpsTree.xpath(
            "//DataInputs/Input/ows:Title/text()", namespaces=wpsTree.nsmap)
        inputAbstracts = wpsTree.xpath(
            "//DataInputs/Input/ows:Abstract/text()", namespaces=wpsTree.nsmap)
        self.assertTrue((set(inputTitles) <= set(ptTranslations))
                        and len(inputTitles) != 0)
        self.assertTrue((set(inputAbstracts) <= set(
            ptTranslations)) and len(inputAbstracts) != 0)
        outputTitles = wpsTree.xpath(
            "//ProcessOutputs/Output/ows:Title/text()", namespaces=wpsTree.nsmap)
        outputAbstracts = wpsTree.xpath(
            "//DataInputs/Input/ows:Abstract/text()", namespaces=wpsTree.nsmap)
        self.assertTrue((set(outputTitles) <= set(
            ptTranslations)) and len(outputTitles) != 0)