--- a/iro/config.py Sat Mar 10 19:00:12 2012 +0100
+++ b/iro/config.py Sat Mar 10 19:01:31 2012 +0100
@@ -12,12 +12,13 @@
def read(self,files):
from offer import getProvider
- ConfigParser.read(self, files)
+ r = ConfigParser.read(self, files)
for s in self.sections():
if s == "main":
main.validate(self.items(s))
else:
getProvider("tmp", self.get(s,'typ'), self.items(s))
+ return r
def reload_(self):
for f in self.reloadList:
@@ -34,13 +35,14 @@
self.must = must
self.default = default
-class Config():
+class Config:
def __init__(self, name):
self.name = name
self.options={
"port":Option(partial(vInteger,minv=0),long="Port under that twisted is running",must=True),
"dburl":Option(lambda x,y:x,long="Connection URL to database",must=True),
}
+ self.order = ["dburl","port"]
self._init=True
@@ -72,6 +74,23 @@
else:
return True
+ def sampleConf(self):
+ ret=[]
+ for o in self.order:
+ opt=self.options[o]
+ if opt.long:
+ ret.append("# "+opt.long)
+ if opt.must:
+ s= "%s = "%o
+ if opt.default is not None:
+ s += str(opt.default)
+ ret.append(s)
+ else:
+ ret.append("# %s = %s"%(o,opt.default))
+ ret.append("")
+
+ return ["[%s]"%self.name,]+ret
+
def readConfig():
configParser.read(confFiles)
configParser.reload()