def __init__(self, wps, processes=None): """Class constructor""" self.wps = wps self.templateVersionDirectory = self.wps.inputs["version"].replace( ".", "_") if os.name == "nt" or os.name == "java": self.precompile = 0 # Templates can be stored in other directory templates = Templates.__path__[0] if os.getenv("PYWPS_TEMPLATES"): templates = os.path.abspath(os.getenv("PYWPS_TEMPLATES")) if self.wps.inputs.has_key("request"): if self.wps.inputs["request"] == "getcapabilities": self.templateFile = os.path.join(templates, self.templateVersionDirectory, "GetCapabilities.tmpl") elif self.wps.inputs["request"] == "describeprocess": self.templateFile = os.path.join(templates, self.templateVersionDirectory, "DescribeProcess.tmpl") elif self.wps.inputs["request"] == "execute": self.templateFile = os.path.join(templates, self.templateVersionDirectory, "Execute.tmpl") try: self.templateProcessor = TemplateProcessor(self.templateFile, compile=True) except pywps.Template.TemplateError, e: raise NoApplicableCode("TemplateError: %s" % repr(e))
def compile_templates(base): versionDirs = ['1_0_0'] template_files = ['GetCapabilities', 'DescribeProcess', 'Execute'] for version in versionDirs: for template_file in template_files: print "Compiling template " + template_file + " in " + base template_file = os.path.join(base, version, template_file + '.tmpl') template = TemplateProcessor(fileName=template_file, compile=True)
#prevent loading from current path sys.path = sys.path[1:] eggPath = os.path.join( dist.command_obj['install'].install_lib, os.path.basename(dist.command_obj['bdist_egg'].egg_output)) sys.path.append(eggPath) baseDir = os.path.join(eggPath, "pywps", "Templates") try: from pywps.Template import TemplateProcessor versionDirs = ['1_0_0'] template_files = ['GetCapabilities', 'DescribeProcess', 'Execute'] for version in versionDirs: for template_file in template_files: print "Compiling template " + template_file + " in " + baseDir template_file = os.path.join(baseDir, version, template_file + '.tmpl') print template_file template = TemplateProcessor(fileName=template_file, compile=True) except Exception, e: print "dry-run only, templates are not complied" print "----------------" traceback.print_exc(file=sys.stdout) print "----------------" print "Please run pywps to compile templates" else: print "dry-run only, templates are not complied"