Show
Ignore:
Timestamp:
07/26/07 13:33:39 (5 years ago)
Author:
trivoallan
Message:

cleverbox : configurable trac project defaults

Files:
1 modified

Legend:

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

    r125 r126  
    717717                self._project_trac_setperms( collected_infos ) 
    718718 
     719                # -- Modifies Trac default conf 
     720                self._project_trac_defaultconf( collected_infos ) 
     721                 
    719722                # -- Fix perms 
    720723                self._project_fix_perms( collected_infos ) 
     
    840843        perms_config.read(os.path.join(self.getConfig('assets_dir', 'general'), 'permissions.ini')) 
    841844        for profile in perms_config.options('trac'): 
    842             print perms_config.get('trac', profile) 
    843845            os.system( trac_perms_cmd % {'env_path'   : trac_env_path, 
    844846                                         'subcommand' : 'add', 
     
    905907 
    906908        print "  Perms fixed\n" 
     909 
     910    def _project_trac_defaultconf(self, infos): 
     911        # New defaults 
     912        tracdefaults_config = ConfigParser.SafeConfigParser() 
     913        tracdefaults_config.read(os.path.join(self.getConfig('assets_dir', 'general'), 'trac-defaults.ini')) 
     914         
     915        # Trac base config file 
     916        project_config_path = os.path.join('%s/%s/var/trac/%s/conf/trac.ini' % (self.getConfig('clients_root', 'general'), infos['client'], infos['short_name'])) 
     917        tracproject_config = ConfigParser.SafeConfigParser() 
     918        tracproject_config.read(project_config_path) 
     919 
     920        # Overriding 
     921        for section in tracdefaults_config.sections(): 
     922            if not tracproject_config.has_section(section): 
     923                tracproject_config.add_section(section) 
     924            for option in tracdefaults_config.options(section): 
     925                tracproject_config.set(section, option, tracdefaults_config.get(section, option)) 
     926 
     927        fp = open(project_config_path, 'w+') 
     928        tracproject_config.write(fp) 
    907929 
    908930    def complete_project(self, text, line, begidx, endidx):