import repository from arizona
[raven.git] / apps / ravenpublish / errorparser.py
1 import sys,os,ConfigParser
2
3 class ErrorParser(ConfigParser.SafeConfigParser):
4     def GetOpt(self, section, option, default):
5         try:
6             value = self.get(section, option)
7         except ConfigParser.NoOptionError:
8             value = default
9         except ConfigParser.NoSectionError:
10             value = default
11         return value
12
13     def GetOptBool(self, section, option, default):
14         value = self.GetOpt(section, option, default)
15         if value == "True":
16             return True
17         elif value == "False":
18             return False
19         else:
20             return value
21
22     def GetOptInt(self, section, option, default):
23         value = self.GetOpt(section, option, default)
24         try:
25             value = int(value)
26         except:
27             value = 0
28         return value
29
30     def SetBool(self, section, option, value):
31         if value:
32             self.set(section, option, "True")
33         else:
34             self.set(section, option, "False")
35
36     def SetInt(self, section, option, value):
37         self.set(section, option, str(value))
38
39     def Get(self, section, option):
40         try:
41             value = self.get(section, option)
42         except ConfigParser.NoOptionError:
43             print "No option '%s' in section '%s' in  file '%s'" % (option,section,self.path)
44             exit(1)
45         except ConfigParser.NoSectionError:
46             print "No section '%s' in config file '%s'" % (section,self.path)
47             exit(1)
48         return value
49
50     def Read(self, path, bail):
51         self.path = path
52         f = []
53         try:
54             f = self.read(path)
55         except ConfigParser.ParsingError :
56             print "Unable to parse '%s'" % (self.path)
57             if (bail):
58                 exit(1)
59         return f