diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2012-01-15 04:13:31 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2012-01-15 04:13:31 (GMT) |
commit | 9d5c841618d31d149e03b1d36594ac5ad925b359 (patch) | |
tree | 89018a81ac3873bacd2c33e593dec74e2f839561 | |
parent | b4560a8504bc2d3daffe302ca2be1c0e50acb9a7 (diff) |
Check write access for log and run directories
-rw-r--r-- | restful_document/server.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/restful_document/server.py b/restful_document/server.py index 28562a2..129a5c7 100644 --- a/restful_document/server.py +++ b/restful_document/server.py @@ -120,6 +120,14 @@ class Server(object): if env.foreground.value: self._launch() else: + if not exists(env.logdir.value): + os.makedirs(env.logdir.value) + enforce(os.access(env.logdir.value, os.W_OK), + _('No write access to %s'), env.logdir.value) + if not exists(env.rundir.value): + os.makedirs(env.rundir.value) + enforce(os.access(env.rundir.value, os.W_OK), + _('No write access to %s'), env.rundir.value) self._forward_stdout() self._daemonize(pidfile) return 0 @@ -192,8 +200,6 @@ class Server(object): return pidfile, pid def _forward_stdout(self): - if not exists(env.logdir.value): - os.makedirs(env.logdir.value) log_path = abspath(join(env.logdir.value, '%s.log' % self._name)) sys.stdout.flush() sys.stderr.flush() @@ -203,8 +209,6 @@ class Server(object): logfile.close() def _daemonize(self, pid_path): - if not exists(env.rundir.value): - os.makedirs(env.rundir.value) pid_path = abspath(pid_path) if os.fork() > 0: |