From d24e3bdf910af9e4a2799dcb5919e05bf46ab55e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Odin=20H=C3=B8rthe=20Omdal?= <odinho@opera.com>
Date: Sun, 17 Aug 2014 22:22:00 +0200
Subject: [PATCH 1/2] Add new hook 'add_media_to_collection'

---
 mediagoblin/user_pages/lib.py | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/mediagoblin/user_pages/lib.py b/mediagoblin/user_pages/lib.py
index e5c8def..b731657 100644
--- a/mediagoblin/user_pages/lib.py
+++ b/mediagoblin/user_pages/lib.py
@@ -14,14 +14,14 @@
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-from mediagoblin.tools.mail import send_email
-from mediagoblin.tools.template import render_template
-from mediagoblin.tools.translate import pass_to_ugettext as _
 from mediagoblin import mg_globals
 from mediagoblin.db.base import Session
 from mediagoblin.db.models import (CollectionItem, MediaReport, CommentReport,
-                                  MediaComment, MediaEntry)
-from mediagoblin.user_pages import forms as user_forms
+                                   MediaComment, MediaEntry)
+from mediagoblin.tools.mail import send_email
+from mediagoblin.tools.pluginapi import hook_runall
+from mediagoblin.tools.template import render_template
+from mediagoblin.tools.translate import pass_to_ugettext as _
 
 
 def send_comment_email(user, comment, media, request):
@@ -54,10 +54,10 @@ def send_comment_email(user, comment, media, request):
     send_email(
         mg_globals.app_config['email_sender_address'],
         [user.email],
-        '{instance_title} - {comment_author} '.format(
+        '{instance_title} - {comment_author} {action_text}'.format(
             comment_author=comment_author,
-            instance_title=mg_globals.app_config['html_title']) \
-                    + _('commented on your post'),
+            instance_title=mg_globals.app_config['html_title'],
+            action_text=_('commented on your post')),
         rendered_email)
 
 
@@ -73,9 +73,13 @@ def add_media_to_collection(collection, media, note=None, commit=True):
     Session.add(collection)
     Session.add(media)
 
+    hook_runall('add_media_to_collection',
+                collection=collection, media_entry=media, note=note)
+
     if commit:
         Session.commit()
 
+
 def build_report_object(report_form, media_entry=None, comment=None):
     """
     This function is used to convert a form object (from a User filing a
@@ -86,7 +90,7 @@ def build_report_object(report_form, media_entry=None, comment=None):
     :param media_entry          A MediaEntry object. The MediaEntry being repo-
                                   -rted by a MediaReport. In a CommentReport,
                                   this will be None.
-    :param comment              A MediaComment object. The MediaComment being 
+    :param comment              A MediaComment object. The MediaComment being
                                   reported by a CommentReport. In a MediaReport
                                   this will be None.
 
@@ -115,4 +119,3 @@ def build_report_object(report_form, media_entry=None, comment=None):
     report_object.report_content = report_form.report_reason.data
     report_object.reporter_id = report_form.reporter_id.data
     return report_object
-
-- 
1.9.1

