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)
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)