Add MediaManagerBase class.
authorElrond <elrond+mediagoblin.org@samba-tng.org>
Tue, 19 Mar 2013 11:50:00 +0000 (12:50 +0100)
committerElrond <elrond+mediagoblin.org@samba-tng.org>
Wed, 17 Apr 2013 10:08:53 +0000 (12:08 +0200)
This is the base class for all new style class based media
managers.

mediagoblin/media_types/__init__.py

index 81acaee86dda149dad55dc52e5060db552917e6e..91e3443b10980b9700474db53d67734e47a38a6d 100644 (file)
@@ -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