equal
deleted
inserted
replaced
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 getProvider |
14 from offer import getProvider |
15 ConfigParser.read(self, files) |
15 r = 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 main.validate(self.items(s)) |
18 main.validate(self.items(s)) |
19 else: |
19 else: |
20 getProvider("tmp", self.get(s,'typ'), self.items(s)) |
20 getProvider("tmp", self.get(s,'typ'), self.items(s)) |
|
21 return r |
21 |
22 |
22 def reload_(self): |
23 def reload_(self): |
23 for f in self.reloadList: |
24 for f in self.reloadList: |
24 f() |
25 f() |
25 |
26 |
32 self.long=long |
33 self.long=long |
33 self.help = help |
34 self.help = help |
34 self.must = must |
35 self.must = must |
35 self.default = default |
36 self.default = default |
36 |
37 |
37 class Config(): |
38 class Config: |
38 def __init__(self, name): |
39 def __init__(self, name): |
39 self.name = name |
40 self.name = name |
40 self.options={ |
41 self.options={ |
41 "port":Option(partial(vInteger,minv=0),long="Port under that twisted is running",must=True), |
42 "port":Option(partial(vInteger,minv=0),long="Port under that twisted is running",must=True), |
42 "dburl":Option(lambda x,y:x,long="Connection URL to database",must=True), |
43 "dburl":Option(lambda x,y:x,long="Connection URL to database",must=True), |
43 } |
44 } |
|
45 self.order = ["dburl","port"] |
44 self._init=True |
46 self._init=True |
45 |
47 |
46 |
48 |
47 def _read(self, cfg, write=False): |
49 def _read(self, cfg, write=False): |
48 c = dict(cfg) |
50 c = dict(cfg) |
70 if getattr(self,o) != getattr(other,o): |
72 if getattr(self,o) != getattr(other,o): |
71 return False |
73 return False |
72 else: |
74 else: |
73 return True |
75 return True |
74 |
76 |
|
77 def sampleConf(self): |
|
78 ret=[] |
|
79 for o in self.order: |
|
80 opt=self.options[o] |
|
81 if opt.long: |
|
82 ret.append("# "+opt.long) |
|
83 if opt.must: |
|
84 s= "%s = "%o |
|
85 if opt.default is not None: |
|
86 s += str(opt.default) |
|
87 ret.append(s) |
|
88 else: |
|
89 ret.append("# %s = %s"%(o,opt.default)) |
|
90 ret.append("") |
|
91 |
|
92 return ["[%s]"%self.name,]+ret |
|
93 |
75 def readConfig(): |
94 def readConfig(): |
76 configParser.read(confFiles) |
95 configParser.read(confFiles) |
77 configParser.reload() |
96 configParser.reload() |
78 if main._init: |
97 if main._init: |
79 main.load(configParser.items("main")) |
98 main.load(configParser.items("main")) |