diff options
author | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2013-03-19 12:50:00 +0100 |
---|---|---|
committer | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2013-04-17 12:08:53 +0200 |
commit | 6d37733a3f7e4180a3f8d97c8b3bb0ba57b85848 (patch) | |
tree | 702264b41c2d62592a68568d95dffdbb4bccccfa | |
parent | e8676fa383975b37ac26e0908ec35da44afbc30a (diff) | |
download | mediagoblin-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__.py | 16 |
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 |