diff options
Diffstat (limited to 'support')
-rwxr-xr-x | support/scripts/newpackage-notify | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/support/scripts/newpackage-notify b/support/scripts/newpackage-notify deleted file mode 100755 index 9afee07..0000000 --- a/support/scripts/newpackage-notify +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/python2 -O -# This program is intended to be run as a once-a-day cronjob, it -# sends a batched email containing the names of all new pacakges in -# the AUR, added within the last 24 hours, to those who have requested -# it on their account page. - -import sys -import os -import MySQLdb, MySQLdb.connections -import ConfigParser -from time import time - -# Some options -SENDMAIL = "/usr/sbin/sendmail" -SITE = "aur.archlinux.org" -FROM = "aur-notify@archlinux.org" -REPLYTO = "nobody@archlinux.org" - -# Deal with configuration. - -conffile = 'tupkgs.conf' - -if not os.path.isfile(conffile): - print "Error: cannot access config file (%s)" % conffile - sys.exit(1) - -config = ConfigParser.ConfigParser() -config.read(conffile) - -# Step 1. Figure out the unix time 24 hours ago. -starttime = time() - 24 * 60 * 60 - -# Step 2. Do all the mysql mucking. -dbconnection = MySQLdb.connect(host=config.get('mysql', 'host'), - user=config.get('mysql', 'username'), - passwd=config.get('mysql', 'password'), - db=config.get('mysql', 'db')) - -q = dbconnection.cursor() - -q.execute("SELECT Packages.Name, Packages.Version, Packages.ID, " - "Packages.Description, Users.Username FROM Packages, Users " - "WHERE SubmittedTS >= %d AND " - "Packages.SubmitterUID = Users.ID" % starttime) - -packages = q.fetchall() - -q.execute("SELECT Users.Email FROM Users WHERE Users.NewPkgNotify = 1") -emails = q.fetchall() - -# Step 3. Generate the message, depending on what we found. - -# Generate the headers to say where it is going. -message = "To: \nBcc: " -emails_list=[] - -for i in emails: - emails_list.append(i[0]) - -message = message + (", ".join(emails_list)) - -# E-mail headers -message = ("%s\nReply-to: %s\n" - "From: %s\nX-Mailer: Python\n" - "X-MimeOLE: Produced by %s\n" % - (message, REPLYTO, FROM, SITE)) - -# The subject -message = message + "Subject: AUR New Package Notification\n\n" - -# TODO: Translations of message wouldn't kill anyone, but this would then need -# to find out the users language pref too. -# Ok now the body -message = "%sPackages added to %s in the last 24 hours:\n\n" % (message, SITE) -pkgs_list=[] - -for i in packages: - message = ("%s%s %s\n\thttp://aur.archlinux.org/packages.php?ID=%d" - "\n\t%s\n\tSubmitted by: %s\n\n") % ( - message, i[0], i[1], i[2], i[3], i[4]) - -message = '''%s ---- -You received this email because you chose to receive new package -notifications on your user options page in the AUR. If you no -longer wish to receive this daily mailing, please go to your -user options page at http://%s and -uncheck "New Package Notify". - -''' % (message, SITE) - -# Print message for debug. -#print message -#sys.exit(0) - -# Step 4. Mail that sucker. -mailer = os.popen("%s -t" % SENDMAIL, 'w') -mailer.write(message) -mailer.close() - |