diff options
author | Aditi <aditi.iitr@gmail.com> | 2013-07-16 06:48:33 +0530 |
---|---|---|
committer | Aditi <aditi.iitr@gmail.com> | 2013-07-16 06:48:33 +0530 |
commit | 67d303ffa96a80da3a3cf48d2f9231bc1a087a19 (patch) | |
tree | 8bd1af9ec13fed7c340a6329632bddf2d17e3fb6 /mediagoblin/db/mixin.py | |
parent | 7b77f7e490a27de57a4dab5301662ef95d11b213 (diff) | |
parent | 64ad0beea83b1f4b50462bcb67c54156fc9365a5 (diff) | |
download | mediagoblin-67d303ffa96a80da3a3cf48d2f9231bc1a087a19.tar.lz mediagoblin-67d303ffa96a80da3a3cf48d2f9231bc1a087a19.tar.xz mediagoblin-67d303ffa96a80da3a3cf48d2f9231bc1a087a19.zip |
merge with remote master branch of cweb.
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): """ |