File: ModuleRequest.py

package info (click to toggle)
cherokee 0.7.2-4
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 8,808 kB
  • ctags: 6,577
  • sloc: ansic: 45,071; python: 9,628; sh: 9,468; makefile: 1,639; xml: 61; perl: 32
file content (37 lines) | stat: -rw-r--r-- 1,277 bytes parent folder | download
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
from Form import *
from Table import *
from Module import *
import validations

NOTE_REQUEST = "Regular expression against which the request will be executed."

class ModuleRequest (Module, FormHelper):
    validation = [('tmp!new_rule!value', validations.is_regex)]

    def __init__ (self, cfg, prefix, submit_url):
        Module.__init__ (self, 'request', cfg, prefix, submit_url)
        FormHelper.__init__ (self, 'request', cfg)

    def _op_render (self):
        table = TableProps()
        if self._prefix.startswith('tmp!'):
            self.AddPropEntry (table, 'Regular Expression', '%s!value'%(self._prefix), NOTE_REQUEST)
        else:
            self.AddPropEntry (table, 'Regular Expression', '%s!request'%(self._prefix), NOTE_REQUEST)
        return str(table)
        
    def _op_apply_changes (self, uri, post):
        self.ApplyChangesPrefix (self._prefix, None, post)

    def apply_cfg (self, values):
        if not values.has_key('value'):
            print "ERROR, a 'value' entry is needed!"

        exts = values['value']
        self._cfg['%s!match!request'%(self._prefix)] = exts

    def get_name (self):
        return self._cfg.get_val ('%s!match!request'%(self._prefix))

    def get_type_name (self):
        return 'Regular Expression'