From 00c8a5897b424be1ad4a705d1e53b3fbc7f70dea Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 25 Jul 2008 14:07:48 +0200 Subject: [PATCH] Keep going even if the disk is full. Patch by cscott. Fix #7587 --- src/sugar/activity/activityfactory.py | 5 ++++- src/sugar/env.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/sugar/activity/activityfactory.py b/src/sugar/activity/activityfactory.py index 4d6871f8..c9729d4b 100644 --- a/src/sugar/activity/activityfactory.py +++ b/src/sugar/activity/activityfactory.py @@ -29,7 +29,7 @@ from sugar.activity import registry from sugar import util from sugar import env -from errno import EEXIST +from errno import EEXIST, ENOSPC import os @@ -150,6 +150,9 @@ def open_log_file(activity): except OSError, e: if e.errno == EEXIST: i += 1 + elif e.errno == ENOSPC: + # not the end of the world; let's try to keep going. + return ('/dev/null', open('/dev/null','w')) else: raise e diff --git a/src/sugar/env.py b/src/sugar/env.py index 16327fc0..b9c259f3 100644 --- a/src/sugar/env.py +++ b/src/sugar/env.py @@ -43,7 +43,7 @@ def get_profile_path(path=None): return base def get_logs_path(path=None): - base = get_profile_path('logs') + base = os.environ.get('SUGAR_LOGS_DIR', get_profile_path('logs')) if path != None: return os.path.join(base, path) else: