File: Theme.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 (35 lines) | stat: -rw-r--r-- 899 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
_global_file_cache = {}

class Theme:
    def __init__ (self, name):
        template = "%s.template.html" % (name)
        self._template = self._read_file (template)

    # Public Methods
    #
    def BuildTemplate (self, keys, id):
        if 'help' not in keys.keys():
            keys['help'] = self._read_file ("%s.help.html"%(id))

        render = self._template
        while '%(' in render:
            render = render % keys
        return render

    def ReadFile (self, name):
        filename = "%s.html" % (name)
        return self._read_file (filename)

    # Private
    #
    def _read_file (self, filename):
        if filename in _global_file_cache:
            file = _global_file_cache[filename]
        else:
            file = open (filename,'r').read()
            _global_file_cache[filename] = file
        return file


    def __str__ (self):
        return self._raw