diff options
author | xray7224 <xray7224@googlemail.com> | 2013-07-14 15:27:52 +0100 |
---|---|---|
committer | xray7224 <xray7224@googlemail.com> | 2013-07-14 15:27:52 +0100 |
commit | e49263564b0ee8859c43e2716fcedab6e80bf164 (patch) | |
tree | 37411b19738484cbba814e584b8d3547d3a2ded0 /mediagoblin/db/mixin.py | |
parent | 49a47ec991152a5dd25a7460e1d3d11afb73d32d (diff) | |
parent | 2d0028e93283fea397133294a5eb45b67d5ed0ab (diff) | |
download | mediagoblin-e49263564b0ee8859c43e2716fcedab6e80bf164.tar.lz mediagoblin-e49263564b0ee8859c43e2716fcedab6e80bf164.tar.xz mediagoblin-e49263564b0ee8859c43e2716fcedab6e80bf164.zip |
Merge branch 'master' of git://gitorious.org/mediagoblin/mediagoblin
Diffstat (limited to 'mediagoblin/db/mixin.py')
-rw-r--r-- | mediagoblin/db/mixin.py | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py index 1b32d838..57b27d83 100644 --- a/mediagoblin/db/mixin.py +++ b/mediagoblin/db/mixin.py @@ -29,15 +29,14 @@ real objects. import uuid import re -import datetime - from datetime import datetime from werkzeug.utils import cached_property from mediagoblin import mg_globals -from mediagoblin.media_types import get_media_managers, FileTypeNotSupported +from mediagoblin.media_types import FileTypeNotSupported from mediagoblin.tools import common, licenses +from mediagoblin.tools.pluginapi import hook_handle from mediagoblin.tools.text import cleaned_markdown_conversion from mediagoblin.tools.url import slugify @@ -204,14 +203,14 @@ class MediaEntryMixin(GenerateSlugMixin): Raises FileTypeNotSupported in case no such manager is enabled """ - # TODO, we should be able to make this a simple lookup rather - # than iterating through all media managers. - for media_type, manager in get_media_managers(): - if media_type == self.media_type: - return manager(self) + manager = hook_handle(('media_manager', self.media_type)) + if manager: + return manager(self) + # Not found? Then raise an error raise FileTypeNotSupported( - "MediaManager not in enabled types. Check media_types in config?") + "MediaManager not in enabled types. Check media_type plugins are" + " enabled in config?") def get_fail_exception(self): """ |