summaryrefslogtreecommitdiff
path: root/paste/app_templates/webkit_zpt_tmpl/command.py
blob: dff1b60fde88a1f5dd435f7600d90b2853a5bca3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import os
from paste import app_setup
from paste import pyconfig

the_runner = app_setup.CommandRunner()
the_runner.register(app_setup.CommandCreate)

class CommandServlet(app_setup.Command):

    name = 'servlet'
    summary = 'Create a new servlet and template'
    max_args = 1
    min_args = 1

    parser = app_setup.standard_parser()

    def command(self):
        servlet_fn = os.path.splitext(self.args[0])[0]
        config = {}
        if '/' in servlet_fn or '\\' in servlet_fn:
            servlet_name = os.path.basename(servlet_fn)
        else:
            servlet_name = servlet_fn
        if self.runner.server_conf_fn:
            output_dir = os.path.dirname(self.runner.server_conf_fn)
            config = pyconfig.Config()
            config.load(self.runner.server_conf_fn)
        else:
            output_dir = os.getcwd()
        source_dir = os.path.join(self.template_dir, 'servlet_template')
        template_options = config.copy()
        template_options.update(self.options.__dict__)
        template_options.update({
            'servlet_name': servlet_name,
            'servlet_fn': servlet_fn,
            })
        app_setup.copy_dir(
            source_dir, output_dir, template_options,
            self.options.verbose, self.options.simulate)

the_runner.register(CommandServlet)

run = the_runner.run