Changeset 726
- Timestamp:
- 04/25/07 22:01:38 (1 year ago)
- Files:
-
- pycherokeeconf/qa/009-DefaultDir.py (added)
- pycherokeeconf/src (modified) (1 prop)
- pycherokeeconf/src/cherokeeconf/config.py (modified) (3 diffs)
- pycherokeeconf/src/cherokeeconf/util.py (modified) (1 diff)
- pycherokeeconf/src/cherokeeconf/virtual_server.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
pycherokeeconf/src
- Property svn:ignore set to
*.pyc
*.pyo
*~
- Property svn:ignore set to
pycherokeeconf/src/cherokeeconf/config.py
r720 r726 14 14 value = property (_get_value, _set_value) 15 15 16 # Child 17 def _get_subitem (self, path): 16 # Get child 17 # 18 def _getitem_simple (self, key): 19 if not key in self._child: 20 return None 21 22 r = self._child[key] 23 assert (isinstance(r, ConfigNode)) 24 return r 25 26 def _getitem_complex (self, path): 18 27 node = self 19 28 for p in path.split('!'): … … 24 33 return node 25 34 26 def __getitem__ (self, key): 27 if not key in self._child: 28 return None 29 30 r = self._child[key] 31 assert (isinstance(r, ConfigNode)) 32 return r 33 34 def __setitem__ (self, key, val): 35 def __getitem__ (self, path): 36 if '!' in path: 37 return self._getitem_complex (path) 38 else: 39 return self._getitem_simple (path) 40 41 # Add children 42 # 43 def _create_path (self, path): 44 node = self 45 for p in path.split('!'): 46 tmp = node[p] 47 if not tmp: 48 tmp = ConfigNode() 49 node[p] = tmp 50 node = tmp 51 return node 52 53 def _setitem_simple (self, key, val): 35 54 assert (isinstance(val, ConfigNode)) 36 55 self._child[key] = val 37 56 57 def __setitem__ (self, key, val): 58 if '!' in key: 59 obj = self[key] 60 if not obj: 61 self._create_path(key) 62 63 if isinstance (val, ConfigNode): 64 if '!' in key: 65 parts = key.split('!') 66 last = parts[-1] 67 prev = reduce (lambda x,y: "%s!%s" % (x,y), parts[:-1]) 68 obj = self[prev] 69 obj._child[last] = val 70 else: 71 self._child[key] = val 72 else: 73 if '!' in key: 74 self[key].value = val 75 else: 76 child = self[key] 77 if not child: 78 child = self._create_path (key) 79 child.value = val 80 81 # Modify child 82 # 38 83 def __delitem__ (self, key): 39 84 del (self._child[key]) … … 113 158 # Access 114 159 def __getitem__ (self, path): 115 node = self.root 116 for p in path.split('!'): 117 tmp = node[p] 118 if not tmp: 119 return None 120 node = tmp 121 return node 160 return self.root[path] 122 161 123 162 def set_sub_node (self, path, config_node): pycherokeeconf/src/cherokeeconf/util.py
r720 r726 40 40 41 41 def ensure_handler (path): 42 return ensure_path (path) 42 # Improve this 43 return path 43 44 44 45 def ensure_priority (prio): pycherokeeconf/src/cherokeeconf/virtual_server.py
r720 r726 63 63 alias_list = property (_get_alias_list, _set_alias_list) 64 64 65 # Directories 66 def directory_get (self, name): 67 dirs = self._conf['directory'] 68 if not dirs or not name in dirs: 69 return None 70 71 return GenericEntry(dirs[name]) 72 73 def directory_new (self, name): 74 self._conf['directory!%s' % (name)] = ConfigNode() 75 return self.directory_get (name) 76 77 65 78 # Entries 66 79 def _get_entries (self):