Package envi :: Module config
[hide private]
[frames] | no frames]

Source Code for Module envi.config

 1  """ 
 2  Unified config object for all vtoys. 
 3  """ 
 4   
 5  import os 
 6  import sys 
 7   
 8  from ConfigParser import ConfigParser 
 9  from cStringIO import StringIO 
10   
11 -def gethomedir(*paths):
12 path = None 13 if sys.platform == "win32": 14 homepath = os.getenv("HOMEPATH") 15 homedrive = os.getenv("HOMEDRIVE") 16 if homedrive != None and homepath != None: 17 path = os.path.join(homedrive, homepath, *paths) 18 else: 19 home = os.getenv("HOME") 20 if home != None: 21 path = os.path.join(home, *paths) 22 23 if path != None and not os.path.exists(path): 24 os.makedirs(path) 25 26 return path
27
28 -def getusername():
29 u = os.getenv('USERNAME') 30 if u != None: 31 return u 32 u = os.getenv('USER') 33 if u != None: 34 return u 35 return 'UnknownUser'
36
37 -class EnviConfig(ConfigParser):
38
39 - def __init__(self, filename=None, defaults=None):
40 ConfigParser.__init__(self) 41 if defaults != None: 42 self.readstr(defaults) 43 44 self.filename = filename 45 if filename != None: 46 self.read(filename)
47
48 - def readstr(self, s):
49 self.readfp(StringIO(s))
50
51 - def syncFile(self):
52 if self.filename != None: 53 f = file(self.filename, "wb") 54 self.write(f) 55 f.close()
56
57 - def set(self, sec, opt, val):
58 ConfigParser.set(self, sec, opt, val) 59 self.syncFile()
60
61 - def remove_option(self, sec, opt):
62 ConfigParser.remove_option(self, sec, opt) 63 self.syncFile()
64 65 #def __getattr__(self, name): 66 67 #def __setattr__(self, name, value): 68