1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import os
23
25
26 __thisdir = os.path.dirname(os.path.abspath(__file__))
27
28 __toplevel = os.path.normpath(os.path.join(__thisdir, '..', '..'))
29
30 __toplevelwrite = __toplevel
31
32
33
34
35 if os.getcwd().find('_build') > -1:
36 srcdir = os.getcwd().split('_build')[0]
37 __toplevelwrite = os.path.join(srcdir, '_build')
38
39 ret = {
40 'isinstalled': False,
41 'cachedir': os.path.join(__toplevelwrite, 'cache'),
42 'configdir': os.path.join(__toplevel, 'conf'),
43 'daemondir': os.path.join(__toplevelwrite),
44 'datadir': os.path.join(__toplevel, 'data'),
45 'gladedir': os.path.join(__toplevel, 'data', 'glade'),
46 'imagedir': os.path.join(__toplevel, 'data', 'image'),
47 'logdir': os.path.join(__toplevelwrite, 'log'),
48 'localedatadir': os.path.join(__toplevelwrite),
49 'pythondir': os.path.join(__toplevel),
50 'registrydir': os.path.join(__toplevelwrite, 'cache', 'registry'),
51 'rundir': os.path.join(__toplevelwrite, 'run'),
52 'bindir': os.path.join(__toplevelwrite, 'bin'),
53 'sbindir': os.path.join(__toplevelwrite, 'bin'),
54 'version': '0.4.2',
55 }
56
57 def ensure(path):
58 try:
59 os.listdir(path)
60 except:
61 os.makedirs(path)
62
63 for i in 'cache', 'log', 'registry':
64 try:
65 ensure(ret[i+'dir'])
66 except OSError, e:
67 print 'Error making %s dir %s: %s' % (i, e.filename, e.strerror)
68 print 'Things are probably going to break!'
69
70 return ret
71