Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2012-01-15 04:13:31 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2012-01-15 04:13:31 (GMT)
commit9d5c841618d31d149e03b1d36594ac5ad925b359 (patch)
tree89018a81ac3873bacd2c33e593dec74e2f839561
parentb4560a8504bc2d3daffe302ca2be1c0e50acb9a7 (diff)
Check write access for log and run directories
-rw-r--r--restful_document/server.py12
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: