aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2013-03-19 12:50:00 +0100
committerElrond <elrond+mediagoblin.org@samba-tng.org>2013-04-17 12:08:53 +0200
commit6d37733a3f7e4180a3f8d97c8b3bb0ba57b85848 (patch)
tree702264b41c2d62592a68568d95dffdbb4bccccfa
parente8676fa383975b37ac26e0908ec35da44afbc30a (diff)
downloadmediagoblin-6d37733a3f7e4180a3f8d97c8b3bb0ba57b85848.tar.lz
mediagoblin-6d37733a3f7e4180a3f8d97c8b3bb0ba57b85848.tar.xz
mediagoblin-6d37733a3f7e4180a3f8d97c8b3bb0ba57b85848.zip
Add MediaManagerBase class.
This is the base class for all new style class based media managers.
-rw-r--r--mediagoblin/media_types/__init__.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/mediagoblin/media_types/__init__.py b/mediagoblin/media_types/__init__.py
index 81acaee8..91e3443b 100644
--- a/mediagoblin/media_types/__init__.py
+++ b/mediagoblin/media_types/__init__.py
@@ -32,6 +32,22 @@ class InvalidFileType(Exception):
pass
+class MediaManagerBase(object):
+ "Base class for all media managers"
+
+ # Please override in actual media managers
+ media_fetch_order = None
+
+ def __init__(self, entry):
+ self.entry = entry
+
+ def __getitem__(self, i):
+ return getattr(self, i)
+
+ def __contains__(self, i):
+ return hasattr(self, i)
+
+
class CompatMediaManager(object):
def __init__(self, mm_dict, entry=None):
self.mm_dict = mm_dict