aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/mixin.py
diff options
context:
space:
mode:
authorAditi <aditi.iitr@gmail.com>2013-07-16 06:48:33 +0530
committerAditi <aditi.iitr@gmail.com>2013-07-16 06:48:33 +0530
commit67d303ffa96a80da3a3cf48d2f9231bc1a087a19 (patch)
tree8bd1af9ec13fed7c340a6329632bddf2d17e3fb6 /mediagoblin/db/mixin.py
parent7b77f7e490a27de57a4dab5301662ef95d11b213 (diff)
parent64ad0beea83b1f4b50462bcb67c54156fc9365a5 (diff)
downloadmediagoblin-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.py17
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):
"""