make media_manager a property of MediaEntry in mixin.py
In all cases where get_media_manager(_media_type_as_string) was called in our code base we ultimately passed in a "MediaEntry().media_type" to get the matching MEDIA_MANAGER. It so makes sense to make this a function of the MediaEntry rather than a global function in mediagoblin.media_types and passing around media_entry.media_type as arguments all the time. It saves a few import statements and arguments. I also made it so the Media_manager property is cached for subsequent calls, although I am not too sure that this is needed (there are other cases for which this would make more sense) Also add a get_media_manager test to the media submission tests. It submits an image and checks that both media.media_type and media.media_manager return the right thing. Not sure if these tests could not be merged with an existing submission test, but it can't hurt to have things explicit. TODO: Right now we iterate through all existing media_managers to find the right one based on the string of its module name. This should be made a simple dict lookup to avoid all the extra work. Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
This commit is contained in:
@@ -33,7 +33,6 @@ from mediagoblin.decorators import (uses_pagination, get_user_media_entry,
|
||||
|
||||
from werkzeug.contrib.atom import AtomFeed
|
||||
|
||||
from mediagoblin.media_types import get_media_manager
|
||||
|
||||
_log = logging.getLogger(__name__)
|
||||
_log.setLevel(logging.DEBUG)
|
||||
@@ -128,8 +127,7 @@ def media_home(request, media, page, **kwargs):
|
||||
|
||||
comment_form = user_forms.MediaCommentForm(request.form)
|
||||
|
||||
media_template_name = get_media_manager(
|
||||
media.media_type)['display_template']
|
||||
media_template_name = media.media_manager['display_template']
|
||||
|
||||
return render_to_response(
|
||||
request,
|
||||
|
||||
Reference in New Issue
Block a user