Changeset 727

Show
Ignore:
Timestamp:
04/25/07 22:35:04 (1 year ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • pycherokeeconf/src/cherokeeconf/virtual_server.py

    r726 r727  
    7575        return self.directory_get (name) 
    7676 
     77    # Extensions 
     78    def extension_get (self, name): 
     79        exts = self._conf['extension'] 
     80        if not exts or not name in exts:  
     81            return None 
    7782 
    78     # Entries 
    79     def _get_entries (self): 
     83        return GenericEntry(exts[name]) 
     84 
     85    def extension_new (self, name): 
     86        self._conf['extension!%s' % (name)] = ConfigNode() 
     87        return self.extension_get (name) 
     88 
     89    # Requests 
     90    def request_get (self, name): 
     91        reqa = self._conf['request'] 
     92        if not reqs or not name in reqs:  
     93            return None 
     94 
     95        return GenericEntry(reqs[name]) 
     96 
     97    def requests_new (self, name): 
     98        self._conf['request!%s' % (name)] = ConfigNode() 
     99        return self.request_get (name) 
     100 
     101    # Generic Entries 
     102    def entries_get (self): 
     103        def cmp (a, b): 
     104            return a.priority > b.priority 
     105 
     106        all  = [] 
    80107        dirs = self._conf['directory'] 
    81         exts = self._conf['extensions'] 
     108        exts = self._conf['extension'] 
    82109        reqs = self._conf['request'] 
    83          
    84         entries = GenericEntryList(dirs, exts, reqs) 
    85         return entries 
    86110 
    87     entries = property (_get_entries) 
     111        if dirs: 
     112            for dirname in self._conf['directory']: 
     113                dir_conf = dirs[dirname] 
     114                new_dir  = Directory (dir_conf, dirname) 
     115                all.append (new_dir) 
     116        if exts: 
     117            for extname in self._conf['extension']: 
     118                ext_conf = dirs[extension] 
     119                new_ext  = Extension (ext_conf, extname) 
     120                all.append (new_ext) 
     121        if reqs: 
     122            for reqname in self._conf['request']: 
     123                req_conf = dirs[reqname] 
     124                new_req  = Request (req_conf, reqname) 
     125                all.append (new_req) 
     126 
     127        all.sort (cmp) 
     128        return all 
    88129 
    89130    # Misc