Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@sugarlabs.org>2009-02-25 18:28:21 (GMT)
committer Tomeu Vizoso <tomeu@sugarlabs.org>2009-02-25 18:28:21 (GMT)
commit6508128adc828e6efff4ede7a7522cedf2d0b6c3 (patch)
tree39bbcb484dcdb46c3879215ed2d604e2ae186e0a
parent29cc73ae18d467a9fb2534db430f12a6cf0ad05b (diff)
Cleanup temp files at exit #435
-rw-r--r--src/sugar/util.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/sugar/util.py b/src/sugar/util.py
index d375b87..e027734 100644
--- a/src/sugar/util.py
+++ b/src/sugar/util.py
@@ -28,6 +28,8 @@ import binascii
import gettext
import tempfile
import logging
+import atexit
+import traceback
_ = lambda msg: gettext.dgettext('sugar-toolkit', msg)
@@ -291,3 +293,13 @@ class TempFilePath(str):
else:
_tracked_paths[self] -= 1
+def _cleanup_temp_files():
+ logging.debug('_cleanup_temp_files')
+ for path in _tracked_paths.keys():
+ try:
+ os.unlink(path)
+ except:
+ logging.error(traceback.format_exc())
+
+atexit.register(_cleanup_temp_files)
+