annotate roundup/config.py @ 480:a5cd27d33516 config-0-4-0-branch

Initial ConfigParser implementation.
author Titus Brown <titus@users.sourceforge.net>
date Thu, 03 Jan 2002 02:12:05 +0000
parents
children a261b0bbba43
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
480
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
1 import sys
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
2 import os
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
3 import ConfigParser
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
4 import string
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
5
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
6 def debug_mode():
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
7 """
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
8 Returns the basic debug mode/level.
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
9 """
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
10 return os.environ.get('ROUNDUP_DEBUG', 0)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
11
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
12 def load_base_config():
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
13 """
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
14 Loads the base configuration for Roundup.
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
15 """
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
16
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
17 c = ConfigParser.ConfigParser()
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
18
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
19 ##
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
20 ## CTB: this is where to search for all overrides, including
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
21 ## system-specific files, registry settings, etc.
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
22 ##
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
23
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
24 # For the moment, search for the config file in
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
25 #
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
26 # %(sys.prefix)s/share/roundup/roundup.rc,
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
27 #
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
28 # with ROUNDUP_CONF overriding it.
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
29
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
30 filenames_to_check = [] # list of files to check:
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
31 if os.environ.has_key('ROUNDUP_CONF'):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
32 filenames_to_check.append(os.environ['ROUNDUP_CONF'])
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
33
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
34 filenames_to_check.append('%s/share/roundup/roundup.rc' % (sys.prefix,))
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
35
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
36 found = 0
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
37 for filename in filenames_to_check:
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
38 if os.path.exists(filename):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
39 found = 1
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
40 c.read(filename)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
41 break
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
42
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
43 if not found:
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
44 assert 0, "could not find config file!"
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
45
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
46 if debug_mode():
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
47 print 'Loaded configuration from "%s".' % (filename,)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
48
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
49 # we also want to give a base path for other config file names;
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
50 # for the moment, make it the base path of the filename we chose.
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
51 base_path = os.path.dirname(filename)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
52
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
53 return RoundupBaseConfig(c, base_path)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
54
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
55 class RoundupBaseConfig:
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
56 """
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
57 A container for the installation-wide roundup configuration.
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
58 """
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
59 def __init__(self, c, base_path):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
60 assert isinstance(c, ConfigParser.ConfigParser)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
61 self.conf = c
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
62 self.base_path = base_path
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
63
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
64 def get(self, group, attr):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
65 return self.conf.get(group, attr)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
66
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
67 def load_instances_config(self):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
68 filename = string.strip(self.conf.get('base', 'instances'))
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
69
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
70 # if it looks like an absolute path, leave it alone; otherwise,
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
71 # add on the base path.
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
72 if filename[0] == '/' or filename[0] == '\\':
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
73 pass
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
74 else:
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
75 filename = os.path.normpath(self.base_path + '/' + filename)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
76
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
77 defaults_dictionary = { 'roundup_conf_dir' : self.base_path }
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
78
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
79 c = ConfigParser.ConfigParser(defaults_dictionary)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
80 c.read(filename)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
81
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
82 return RoundupInstancesConfig(c, filename)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
83
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
84 class RoundupInstancesConfig:
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
85 """
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
86 A container for the installation-wide list of instances.
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
87 """
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
88 def __init__(self, c, filename=""):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
89 assert isinstance(c, ConfigParser.ConfigParser)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
90 self.conf = c
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
91 self.filename = filename
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
92
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
93 instance_names = {}
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
94 instance_dirs = {}
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
95
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
96 for name in c.sections():
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
97 dir = c.get(name, 'homedir')
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
98
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
99 if instance_names.has_key(dir) or instance_dirs.has_key(name):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
100 sys.stderr.write('ERROR: dir/name correspondence is not unique (%s)' % (self.filename,))
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
101 assert 0, "%s:%s" % (dir, name,)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
102
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
103
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
104 instance_dirs[name] = dir
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
105 instance_names[dir] = name
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
106
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
107 self.instance_dirs = instance_dirs
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
108 self.instance_names = instance_names
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
109
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
110 def get_instance_names(self):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
111 return self.instance_dirs.keys()
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
112
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
113 def get_instance_name(self, dir):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
114 return self.instance_names[dir]
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
115
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
116 def get_instance_dir(self, name):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
117 return self.instance_dirs[name]
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
118
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
119 def load_instance_config(self, name):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
120 instance_dir = self.get_instance_dir(name)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
121
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
122 defaults_file = self.conf.get(name, 'defaults')
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
123 config_file = self.conf.get(name, 'config')
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
124
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
125 defaults_dictionary = { 'homedir' : instance_dir,
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
126 'instance_name' : name,
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
127 }
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
128
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
129
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
130 c = ConfigParser.ConfigParser(defaults_dictionary)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
131 c.read(defaults_file)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
132 c.read(config_file)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
133
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
134 return InstanceConfig(c, name, instance_dir)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
135
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
136 class InstanceConfig:
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
137 """
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
138 A container for each per-instance configuration.
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
139 """
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
140
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
141 def __init__(self, c, instanceName, instanceDirectory):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
142 assert isinstance(c, ConfigParser.ConfigParser)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
143 self.conf = c
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
144 self.name = instanceName
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
145 self.directory = instanceDirectory
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
146
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
147 def get_name(self):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
148 return self.name
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
149
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
150 def get_directory(self):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
151 return self.directory
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
152
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
153 def get(self, group, attr):
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
154 return self.conf.get(group, attr)
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
155
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
156 if __name__ == '__main__':
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
157 base_config = load_base_config()
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
158 instances_config = base_config.load_instances_config()
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
159
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
160 for k in instances_config.get_instance_names():
a5cd27d33516 Initial ConfigParser implementation.
Titus Brown <titus@users.sourceforge.net>
parents:
diff changeset
161 print "%s:%s" % (k, instances_config.get_instance_dir(k),)

Roundup Issue Tracker: http://roundup-tracker.org/