Show
Ignore:
Timestamp:
08/10/07 18:05:23 (5 years ago)
Author:
trivoallan
Message:

cleverbox : upgrades proof of concept. refs #13.

Location:
cleverbox/trunk/cleverbox
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • cleverbox/trunk/cleverbox/scripts/admin.py

    r155 r156  
    1111from trac.scripts.admin import TracAdmin 
    1212import ConfigParser 
     13from pkg_resources import parse_version 
    1314 
    1415_defaults = { 
     
    5455        # Check if environment needs an upgrade 
    5556        #  - open VERSION 
     57        env_version = open(os.path.join(self.envname, 'VERSION')).read() 
     58         
    5659        #  - compare with self._version 
    57         #  - if VERSION < self._version :  
    58         #    - call upgrade script corresponding to self._upg (?) 
    59         #  - VERSION > self._version : EXCEPT 
    60         #  - else : continue  
    61          
     60        #  - if VERSION < self._version : 
     61        if parse_version(env_version) < parse_version(self._version):  
     62            #    - call upgrade script corresponding to self._upg (?) 
     63            from cleverbox.upgrades import upgrades 
     64            i = 1 
     65            while i: 
     66                try: 
     67                    upgrades['do_upgrade_' + i].__call__(self.envname, env_version) 
     68                except ImportError, e: 
     69                    break 
     70                i = i + 1 
     71                 
     72        elif parse_version(env_version) > parse_version(self._version): 
     73            raise 
    6274         
    6375        if env is not None: 
  • cleverbox/trunk/cleverbox/upgrades/upgrades.py

    r155 r156  
     1from pkg_resources import parse_version 
    12 
    2 def do_upgrade_1(envname): 
    3     print "upgrade 1 !" 
    4      
    5 def do_upgrade_2(envname): 
    6     print "upgrade 2 !" 
     3def do_upgrade_1(envname, env_version): 
     4    if parse_version(env_version) >= parse_version(0.4): 
     5        pass 
     6    else: 
     7        print "upgrade 1 !"