Changeset 1916

Show
Ignore:
Timestamp:
08/30/08 18:52:49 (3 months ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee/trunk/ChangeLog

    r1915 r1916  
    112008-08-30  Alvaro Lopez Ortega  <alvaro@alobbs.com> 
     2 
     3        * admin/config.py: Adds a couple of convenience methods and 
     4        improves the serialization. 
    25 
    36        * admin/ModuleCgi.py, admin/ModuleFcgi.py, admin/ModuleScgi.py: 
  • cherokee/trunk/admin/config.py

    r1691 r1916  
    232232            del (parent._child[child_name]) 
    233233 
     234    def keys (self, path): 
     235        tmp = self[path] 
     236        if not tmp: 
     237            return [] 
     238        return tmp.keys() 
     239 
     240    def pop (self, key): 
     241        tmp = self.get_val(key) 
     242        del (self[key]) 
     243        return tmp 
     244 
    234245    # Serialization 
    235246    def serialize (self): 
    236247        def sorter(x,y): 
    237248            order = ['server', 'vserver', 'icons', 'mime'] 
    238             a = x.split('!')[0] 
    239             b = y.split('!')[0] 
     249            a = x.split('!') 
     250            b = y.split('!') 
    240251            try: 
    241                 ai = order.index(a
    242                 bi = order.index(b
     252                ai = order.index(a[0]
     253                bi = order.index(b[0]
    243254            except: 
    244255                return cmp(x,y) 
     256 
     257            # Different tags 
    245258            if ai > bi: 
    246259                return  1 
    247260            elif ai < bi: 
    248261                return -1 
     262 
     263            # Sort rules: reverse 
     264            if ((len(a) > 3) and  
     265                (a[0] == b[0] == 'vserver') and 
     266                (a[2] == b[2] == 'rule')): 
     267                return cmp (int(b[3]), int(a[3])) 
     268 
    249269            return cmp(x,y) 
    250270