source: devel/reconfig @ 5162

Last change on this file since 5162 was 4135, checked in by wehart, 8 years ago

Update to reconfig script.

File size: 1.8 KB
Line 
1#! /usr/bin/env python
2#
3# A script to reconfigure externals for configuration files
4#
5
6import ConfigParser
7import glob
8import os
9import sys
10import commands
11import urllib2
12import StringIO
13
14def parse(file, type, externals=None, config=None):
15    if externals is None:
16        externals = []
17
18    if config is None:
19        config = ConfigParser.ConfigParser()
20    if os.path.exists(file):
21        config.read(file)
22    else:
23        output = urllib2.urlopen(file, timeout=30).read()
24        fp = StringIO.StringIO(output)
25        config.readfp(fp, file)
26        fp.close()
27
28    for section in config.sections():
29        for option in config.options(section):
30            if section == 'externals':
31                cfg = ConfigParser.ConfigParser()
32                parse(config.get(section, option), type, externals, cfg)
33            elif option in 'release':
34                externals.append(section+' '+config.get(section,option))
35            elif option == 'root':
36                externals.append(section+' '+config.get(section,option)+'/'+type)
37    return externals
38
39def create(name, type, externals):
40    #
41    if not os.path.exists(name+'_'+type):
42        print commands.getoutput('svn mkdir '+name+'_'+type)
43    #
44    if len(externals) > 0:
45        os.chdir(name+'_'+type)
46        OUTPUT = open('Externals','w')
47        print >>OUTPUT, '\n'.join(externals)
48        OUTPUT.close()
49        commands.getoutput('svn add Externals')
50        commands.getoutput('svn propset -F Externals svn:externals .')
51        commands.getoutput('svn commit -m "Updating externals"')
52        os.chdir('..')
53
54for file in glob.glob("../vpy/*.ini"):
55    print "Processing "+file
56    externals = parse(file, 'trunk')
57    #
58    name = os.path.splitext(os.path.basename(file))[0]
59    #print name
60    create(name, 'trunk', externals)
61
62       
63       
64   
Note: See TracBrowser for help on using the repository browser.