Exemplo n.º 1
0
    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))
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
    #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"