summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorLukas Fleischer <lfleischer@archlinux.org>2015-10-17 14:48:10 +0200
committerLukas Fleischer <lfleischer@archlinux.org>2015-10-17 17:33:45 +0200
commit4411a55ec9a131619e8e8f33c2fe2b8d3da21ee2 (patch)
tree7f0a4b5749c2d285587ba9e3d25b8b427eca08ac /scripts
parent2f6471b0b1c039e653a8787e5faeaa13dabb2e46 (diff)
downloadaur-4411a55ec9a131619e8e8f33c2fe2b8d3da21ee2.tar.gz
aur-4411a55ec9a131619e8e8f33c2fe2b8d3da21ee2.tar.xz
Send notifications when changing co-maintainership
Implements FS#45590. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/notify.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/notify.py b/scripts/notify.py
index ab652772..4832baf7 100755
--- a/scripts/notify.py
+++ b/scripts/notify.py
@@ -65,6 +65,10 @@ def pkgbase_from_pkgreq(cur, reqid):
[reqid])
return cur.fetchone()[0]
+def get_user_email(cur, uid):
+ cur.execute('SELECT Email FROM Users WHERE ID = %s', [uid])
+ return cur.fetchone()[0]
+
def get_maintainer_email(cur, pkgbase_id):
cur.execute('SELECT Users.Email FROM Users ' +
'INNER JOIN PackageBases ' +
@@ -157,6 +161,31 @@ def flag(cur, uid, pkgbase_id):
send_notification(to, subject, body, refs)
+def comaintainer_add(cur, pkgbase_id, uid):
+ pkgbase = pkgbase_from_id(cur, pkgbase_id)
+ to = [get_user_email(cur, uid)]
+
+ pkgbase_uri = aur_location + '/pkgbase/' + pkgbase + '/'
+
+ subject = 'AUR Co-Maintainer Notification for %s' % (pkgbase)
+ body = 'You were added to the co-maintainer list of %s [1].' % (pkgbase)
+ refs = '[1] ' + pkgbase_uri + '\n'
+
+ send_notification(to, subject, body, refs)
+
+def comaintainer_remove(cur, pkgbase_id, uid):
+ pkgbase = pkgbase_from_id(cur, pkgbase_id)
+ to = [get_user_email(cur, uid)]
+
+ pkgbase_uri = aur_location + '/pkgbase/' + pkgbase + '/'
+
+ subject = 'AUR Co-Maintainer Notification for %s' % (pkgbase)
+ body = 'You were removed from the co-maintainer list of %s [1].' % \
+ (pkgbase)
+ refs = '[1] ' + pkgbase_uri + '\n'
+
+ send_notification(to, subject, body, refs)
+
def delete(cur, uid, old_pkgbase_id, new_pkgbase_id=None):
user = username_from_id(cur, uid)
old_pkgbase = pkgbase_from_id(cur, old_pkgbase_id)
@@ -246,6 +275,8 @@ if __name__ == '__main__':
'welcome': welcome,
'comment': comment,
'flag': flag,
+ 'comaintainer-add': comaintainer_add,
+ 'comaintainer-remove': comaintainer_remove,
'delete': delete,
'request-open': request_open,
'request-close': request_close,