equal
deleted
inserted
replaced
1 from ConfigParser import ConfigParser |
1 from ConfigParser import ConfigParser, NoOptionError |
2 import signal |
2 import signal |
3 from functools import partial |
3 from functools import partial |
4 |
4 |
5 from validate import vInteger |
5 from validate import vInteger |
6 from error import ValidateException |
6 from error import ValidateException |
9 def __init__(self): |
9 def __init__(self): |
10 ConfigParser.__init__(self) |
10 ConfigParser.__init__(self) |
11 self.reloadList=[] |
11 self.reloadList=[] |
12 |
12 |
13 def read(self,files): |
13 def read(self,files): |
14 from offer import providers |
14 from offer import getProvider |
15 ConfigParser.read(self, files) |
15 ConfigParser.read(self, files) |
16 for s in self.sections(): |
16 for s in self.sections(): |
17 if s == "main": |
17 if s == "main": |
18 opts=main |
18 opts=main |
|
19 for o in opts: |
|
20 try: |
|
21 opts[o].validate(self.get(s,o),o) |
|
22 except (ValidateException, NoOptionError): |
|
23 if opts[o].must: |
|
24 raise |
19 else: |
25 else: |
20 opts=providers[self.get(s,'typ')].options |
26 getProvider("tmp", self.get(s,'typ'), self.items(s)) |
21 |
27 |
22 for o in opts: |
|
23 try: |
|
24 opts[o].validate(self.get(s,o),o) |
|
25 except ValidateException: |
|
26 if opts[o].must: |
|
27 raise |
|
28 |
28 |
29 def reload_(self): |
29 def reload_(self): |
30 for f in self.reloadList: |
30 for f in self.reloadList: |
31 f() |
31 f() |
32 |
32 |