From 6ab3b3c07e6c1f2b668b16d466f4f7faf155f365 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Tue, 24 Oct 2006 20:00:14 +0200 Subject: [PATCH] Cleanup logs dir on shell startup --- shell/sugar-shell | 1 + sugar/logger.py | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/shell/sugar-shell b/shell/sugar-shell index 580d168d..28e22ff9 100755 --- a/shell/sugar-shell +++ b/shell/sugar-shell @@ -28,6 +28,7 @@ from sugar import profile from sugar import env from sugar import TracebackUtils +logger.cleanup() logger.start('shell') sys.path.insert(0, os.path.join(env.get_data_dir(), 'shell')) diff --git a/sugar/logger.py b/sugar/logger.py index 284b52ce..56d66c60 100644 --- a/sugar/logger.py +++ b/sugar/logger.py @@ -29,10 +29,7 @@ class LogWriter: def __init__(self, module_id): self._module_id = module_id - logs_dir = os.path.join(env.get_profile_path(), 'logs') - if not os.path.isdir(logs_dir): - os.makedirs(logs_dir) - + logs_dir = _get_logs_dir() log_path = os.path.join(logs_dir, module_id + '.log') self._log_file = open(log_path, 'w') @@ -68,6 +65,12 @@ def __exception_handler(typ, exc, tb): _log_writer.write(logging.ERROR, trace.getvalue()) +def _get_logs_dir(): + logs_dir = os.path.join(env.get_profile_path(), 'logs') + if not os.path.isdir(logs_dir): + os.makedirs(logs_dir) + return logs_dir + def start(module_id): log_writer = LogWriter(module_id) @@ -78,3 +81,8 @@ def start(module_id): global _log_writer _log_writer = log_writer sys.excepthook = __exception_handler + +def cleanup(): + logs_dir = _get_logs_dir() + for f in os.listdir(logs_dir): + os.remove(os.path.join(logs_dir, f))