aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/mixin.py
diff options
context:
space:
mode:
authorxray7224 <xray7224@googlemail.com>2013-07-14 15:27:52 +0100
committerxray7224 <xray7224@googlemail.com>2013-07-14 15:27:52 +0100
commite49263564b0ee8859c43e2716fcedab6e80bf164 (patch)
tree37411b19738484cbba814e584b8d3547d3a2ded0 /mediagoblin/db/mixin.py
parent49a47ec991152a5dd25a7460e1d3d11afb73d32d (diff)
parent2d0028e93283fea397133294a5eb45b67d5ed0ab (diff)
downloadmediagoblin-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.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):
"""