From bf75c321ef2c904d47eaeabd7cdeffbd94ef1e15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Lalinsk=C3=BD?= Date: Tue, 28 Nov 2006 14:12:03 +0100 Subject: [PATCH] Clean-up old cached entried. --- picard/tagger.py | 1 + picard/util/cachedws.py | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/picard/tagger.py b/picard/tagger.py index db362d81d..38a3af9c4 100644 --- a/picard/tagger.py +++ b/picard/tagger.py @@ -169,6 +169,7 @@ class Tagger(QtGui.QApplication, ComponentManager, Component): self.thread_assist.spawn(self._ofa.done, thread=self._analyze_thread) self.thread_assist.stop() self.browser_integration.stop() + CachedWebService.cleanup(self.cache_dir) def run(self): self.window.show() diff --git a/picard/util/cachedws.py b/picard/util/cachedws.py index 0eb4674ec..a4351ffcb 100644 --- a/picard/util/cachedws.py +++ b/picard/util/cachedws.py @@ -20,7 +20,9 @@ import os.path import re import sha +import time from musicbrainz2.webservice import WebService +from stat import * class CachedWebService(WebService): """This class provides a cached wrapper around ``WebService``.""" @@ -101,3 +103,12 @@ class CachedWebService(WebService): if m: filename += "." + m.group(1) return os.path.join(self._cache_dir, filename) + + @staticmethod + def cleanup(cachedir): + now = time.time() + for filename in os.listdir(cachedir): + filename = os.path.join(cachedir, filename) + mtime = os.stat(filename)[ST_MTIME] + if now - mtime > 60 * 60 * 24 * 10: + os.unlink(filename)