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
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
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
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
49 self.readfp(StringIO(s))
50
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
64
65
66
67
68