$search
00001 from ConfigParser import ConfigParser, NoOptionError 00002 import os 00003 import settings 00004 00005 00006 class Config(ConfigParser): 00007 """ 00008 ``ConfigParser`` subclass that looks into your home folder for a file named 00009 ``.gvoice`` and parses configuration data from it. 00010 """ 00011 def __init__(self): 00012 self.fname = os.path.expanduser('~/.gvoice') 00013 00014 if not os.path.exists(self.fname): 00015 try: 00016 f = open(self.fname, 'w') 00017 except IOError: 00018 return 00019 f.write(settings.DEFAULT_CONFIG) 00020 f.close() 00021 00022 ConfigParser.__init__(self) 00023 try: 00024 self.read([self.fname]) 00025 except IOError: 00026 return 00027 00028 def get(self, option, section='gvoice'): 00029 try: 00030 return ConfigParser.get(self, section, option).strip() or None 00031 except NoOptionError: 00032 return 00033 00034 def set(self, option, value, section='gvoice'): 00035 return ConfigParser.set(self, section, option, value) 00036 00037 def phoneType(self): 00038 try: 00039 return int(self.get('phoneType')) 00040 except TypeError: 00041 return 00042 00043 def save(self): 00044 f = open(self.fname, 'w') 00045 self.write(f) 00046 f.close() 00047 00048 00049 phoneType = property(phoneType) 00050 forwardingNumber = property(lambda self: self.get('forwardingNumber')) 00051 email = property(lambda self: self.get('email','auth')) 00052 password = property(lambda self: self.get('password','auth')) 00053 secret = property(lambda self: self.get('secret')) 00054 00055 config = Config()