From 5c4a63c1abd111ce27b09b1d5837ad6b58889b3b Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Sun, 2 Dec 2012 17:54:37 +0000 Subject: [PATCH] * morituri/common/common.py: Remove migrated classes. --- ChangeLog | 5 ++ morituri/common/common.py | 113 -------------------------------------- 2 files changed, 5 insertions(+), 113 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3496bff..03763e0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-12-02 Thomas Vander Stichele + + * morituri/common/common.py: + Remove migrated classes. + 2012-12-02 Thomas Vander Stichele * morituri/common/cache.py: diff --git a/morituri/common/common.py b/morituri/common/common.py index 3c8b46f..354d3b2 100644 --- a/morituri/common/common.py +++ b/morituri/common/common.py @@ -119,119 +119,6 @@ def formatTime(seconds, fractional=3): return " ".join(chunks) -class Persister(object): - """ - I wrap an optional pickle to persist an object to disk. - - Instantiate me with a path to automatically unpickle the object. - Call persist to store the object to disk; it will get stored if it - changed from the on-disk object. - - @ivar object: the persistent object - """ - - def __init__(self, path=None, default=None): - """ - If path is not given, the object will not be persisted. - This allows code to transparently deal with both persisted and - non-persisted objects, since the persist method will just end up - doing nothing. - """ - self._path = path - self.object = None - - self._unpickle(default) - - def persist(self, obj=None): - """ - Persist the given object, if we have a persistence path and the - object changed. - - If object is not given, re-persist our object, always. - If object is given, only persist if it was changed. - """ - # don't pickle if it's already ok - if obj and obj == self.object: - return - - # store the object on ourselves if not None - if obj is not None: - self.object = obj - - # don't pickle if there is no path - if not self._path: - return - - # default to pickling our object again - if obj is None: - obj = self.object - - # pickle - self.object = obj - (fd, path) = tempfile.mkstemp(suffix='.morituri.pickle') - handle = os.fdopen(fd, 'wb') - import pickle - pickle.dump(obj, handle, 2) - handle.close() - # do an atomic move - shutil.move(path, self._path) - - def _unpickle(self, default=None): - self.object = default - - if not self._path: - return None - - if not os.path.exists(self._path): - return None - - handle = open(self._path) - import pickle - - try: - self.object = pickle.load(handle) - except: - # can fail for various reasons; in that case, pretend we didn't - # load it - pass - - def delete(self): - self.object = None - os.unlink(self._path) - - -class PersistedCache(object): - """ - I wrap a directory of persisted objects. - """ - - path = None - - def __init__(self, path): - self.path = path - try: - os.makedirs(self.path) - except OSError, e: - if e.errno != 17: # FIXME - raise - - def _getPath(self, key): - return os.path.join(self.path, '%s.pickle' % key) - - def get(self, key): - """ - Returns the persister for the given key. - """ - persister = Persister(self._getPath(key)) - if persister.object: - if hasattr(persister.object, 'instanceVersion'): - o = persister.object - if o.instanceVersion < o.__class__.classVersion: - persister.delete() - - return persister - - def tagListToDict(tl): """ Removes audio-codec and video-codec since we never set them ourselves.