[aur-dev] [PATCH 1/2] Send out-of-date notifications to co-maintainers

Lukas Fleischer lfleischer at archlinux.org
Sun Nov 13 14:41:43 UTC 2016


Currently, only package maintainers receive out-of-date notifications
for their packages. Add package base co-maintainers to the list of
recipients for out-of-date notifications.

Signed-off-by: Lukas Fleischer <lfleischer at archlinux.org>
---
 aurweb/scripts/notify.py | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/aurweb/scripts/notify.py b/aurweb/scripts/notify.py
index ddd6e49..8fdfeb9 100755
--- a/aurweb/scripts/notify.py
+++ b/aurweb/scripts/notify.py
@@ -73,12 +73,15 @@ def get_user_email(conn, uid):
     return cur.fetchone()[0]
 
 
-def get_maintainer_email(conn, pkgbase_id):
-    cur = conn.execute('SELECT Users.Email FROM Users ' +
+def get_flag_recipients(conn, pkgbase_id):
+    cur = conn.execute('SELECT DISTINCT Users.Email FROM Users ' +
+                       'LEFT JOIN PackageComaintainers ' +
+                       'ON PackageComaintainers.UsersID = Users.ID ' +
                        'INNER JOIN PackageBases ' +
-                       'ON PackageBases.MaintainerUID = Users.ID WHERE ' +
-                       'PackageBases.ID = ?', [pkgbase_id])
-    return cur.fetchone()[0]
+                       'ON PackageBases.MaintainerUID = Users.ID OR ' +
+                       'PackageBases.ID = PackageComaintainers.PackageBaseID ' +
+                       'WHERE PackageBases.ID = ?', [pkgbase_id])
+    return [row[0] for row in cur.fetchall()]
 
 
 def get_recipients(conn, pkgbase_id, uid):
@@ -247,7 +250,7 @@ def update(conn, uid, pkgbase_id):
 def flag(conn, uid, pkgbase_id):
     user = username_from_id(conn, uid)
     pkgbase = pkgbase_from_id(conn, pkgbase_id)
-    to = [get_maintainer_email(conn, pkgbase_id)]
+    to = get_flag_recipients(conn, pkgbase_id)
     text = get_flagger_comment(conn, pkgbase_id)
 
     user_uri = aur_location + '/account/' + user + '/'
-- 
2.10.2


More information about the aur-dev mailing list