Changeset 720

Show
Ignore:
Timestamp:
04/24/07 22:00:55 (1 year ago)
Author:
alo
Message:

--

Files:

Legend:

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

    r709 r720  
    6161            content += node.serialize (new_path) 
    6262        return content 
     63 
     64    # Sub-tree operations 
     65    def set_value (self, key, val): 
     66        if not key in self._child: 
     67            cfg = ConfigNode() 
     68            self._child[key] = cfg 
     69        else: 
     70            cfg = self._child[key] 
     71 
     72        cfg.value = val         
    6373 
    6474 
  • pycherokeeconf/src/cherokeeconf/server.py

    r714 r720  
    110110 
    111111    # Virtual hosts 
    112     def _get_virtual_servers (self): 
    113         return VirtualServerList (self._conf) 
     112    def virtual_server_get (self, name): 
     113        conf = self._conf['vserver!' + name]  
     114        return VirtualServer (conf, name) 
    114115 
    115     virtual_servers = property (_get_virtual_servers) 
     116    def virtual_server_new (self, name): 
     117        self._conf['vserver!%s!document_root' % (name)] = "" 
     118        return self.virtual_server_get (name) 
     119         
     120    def virual_server_get_list (self): 
     121        confs = self._conf['vserver']  
     122        if not confs: return [] 
    116123 
    117     def add_new_virtual_server (self, name): 
    118         vsrvs = VirtualServerList (self._conf) 
    119         vsrvs.add_new (name) 
    120 #        path = 'vserver!' + name 
    121 #        self._conf[path] = ConfigNode() 
     124        all = [] 
     125        for vname in confs: 
     126            all += [self.virtual_server_get(vname)] 
     127        return all 
    122128     
    123129    # Misc 
  • pycherokeeconf/src/cherokeeconf/util.py

    r712 r720  
    2222 
    2323def ensure_path (path): 
    24     print "path", path 
    2524    if not os.path.exists(path): 
    2625        raise "Path doesn't exists: " % (path) 
  • pycherokeeconf/src/cherokeeconf/virtual_server.py

    r368 r720  
    2020    # DocumentRoot 
    2121    def _get_document_root (self): 
    22         tmp = self._conf['document_root'] 
    23         if tmp: return tmp.value 
     22        return self.value('document_root') 
    2423    def _set_document_root (self, path): 
    25         self._conf['document_root'] = ensure_dir_exists(path
     24        self._conf.set_value ('document_root', ensure_dir_exists(path)
    2625 
    2726    document_root = property (_get_document_root, _set_document_root) 
     
    2928    # DirectoryIndex 
    3029    def _get_directory_index (self): 
    31         tmp = self._conf['directory_index'] 
    32         if tmp: return tmp.value 
     30        return self.value('directory_index') 
    3331    def _set_directory_index (self, index_list): 
    34         self._conf['directory_index'] = index_list 
     32        self._conf.set_value ('directoty_index', index_list) 
    3533 
    3634    directory_index = property (_get_directory_index, _set_directory_index) 
     
    3836    # UserDir 
    3937    def _get_user_dir (self): 
    40         tmp = self._conf['user_dir'] 
    41         if tmp: return tmp.value 
     38        return self.value('user_dir') 
    4239    def _set_user_dir (self, name): 
    43         self._conf['user_dir'] = name 
     40        self._conf.set_value ('user_dir', name) 
    4441 
    4542    user_dir = property (_get_user_dir, _set_user_dir) 
     
    7774    entries = property (_get_entries) 
    7875 
     76    # Misc 
     77    # 
     78    def _value (self, o): 
     79        if not o:  
     80            return '' 
     81        else: 
     82            return o.value 
    7983 
    80 class VirtualServerList (object): 
    81     def __init__ (self, config): 
    82         self._dict = {} 
    83         self._conf = config 
    84  
    85         vservers_conf = self._conf['vserver']  
    86         for vname in vservers_conf: 
    87             vserver_conf = vservers_conf[vname] 
    88             new_vserver  = VirtualServer (vserver_conf, vname) 
    89             self[vname] = new_vserver 
    90  
    91     def __getitem__ (self, name): 
    92         if not name in self._dict: 
    93             return None 
    94         return self._dict[name] 
    95      
    96     def __setitem__ (self, name, item): 
    97         assert (isinstance(self._conf, Config)) 
    98         assert (isinstance(item, VirtualServer)) 
    99         assert (isinstance(item._conf, ConfigNode)) 
    100  
    101         self._dict[name] = item 
    102         self._conf.set_sub_node ('vserver!%s' % (name), item._conf) 
    103          
    104     def __delitem__ (self, item): 
    105         del (self._conf['vserver!%s' % (item)]) 
    106         del (self._dict[item]) 
    107  
    108     def __iter__ (self): 
    109         return iter(self._dict) 
    110  
    111     def __len__ (self): 
    112         return len(self._dict.keys()) 
    113  
    114     def add_new (self, name): 
    115         conf = ConfigNode() 
    116         vsrv = VirtualServer (conf, name) 
    117         self.__setitem__ (name, vsrv) 
     84    def value (self, key): 
     85        return self._value (self._conf[key])