1 """
2 A barebones config object loaded from a Python config file.
3 """
4
5 import os
6
7 try:
8 os.fork
9 except NameError:
10 have_fork=False
11 else:
12 have_fork=True
13
17
18 - def load(self, filename):
19 filename=os.path.abspath(filename)
20 s=open(filename).read()
21 codeobj=compile(s, filename, 'exec')
22 env={}
23 exec codeobj in {}, env
24
25 for key in (k for k in env if not k.startswith('_')):
26 self.__dict__[key]=env[key]
27
29 for k in kw:
30 self.__dict__.setdefault(k, kw[k])
31
33 return self.__dict__.keys()
34
37
40
43
44 Config=_config()
45
46 DEFAULTS=dict(loglevel='critical',
47 logfile=None,
48 logrotate=None,
49 daemonize=True,
50 use_xsendfile=True,
51 sendfile_header='X-Sendfile',
52 refresh_rate=0,
53 protocol='fcgi',
54 interface='127.0.0.1',
55 port=5000,
56 unixsocket=None,
57 umask=None,
58 stream=False,
59 basedir=None,
60 rulefile=None,
61 targetdir=None,
62 pidfile=None,
63 use_threads=not have_fork,
64 engine='default',
65 user=None,
66 group=None,
67 content_disposition='attachment',
68 lame_path='/usr/bin/lame',
69 min_spare=None,
70 max_spare=None,
71 max_threads=None,
72 max_children=None,
73 max_requests=None
74 )
75
79
80 __all__=['Config', 'initConfig']
81