Revert "Reuse DEADAGE rather than defining our own constant."
[build-farm.git] / mail-dead-hosts.py
index 2e0c7f73ea3ee98d2a3c8491444bcedd7446cb44..b83ce4bd1183e67681f1fc033d3bb2939c4f891f 100755 (executable)
@@ -17,7 +17,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-from buildfarm.sqldb import StormCachingBuildFarm
+from buildfarm import BuildFarm
+from buildfarm.web import host_uri
 import optparse
 import smtplib
 from email.MIMEText import MIMEText
@@ -27,13 +28,12 @@ parser = optparse.OptionParser()
 parser.add_option("--dry-run", help="Don't actually send any emails.", action="store_true")
 (opts, args) = parser.parse_args()
 
-buildfarm = StormCachingBuildFarm(timeout=40.0)
-db = buildfarm.hostdb
+buildfarm = BuildFarm(timeout=40.0)
 
 smtp = smtplib.SMTP()
 smtp.connect()
 
-hosts = db.dead_hosts(7 * 86400)
+hosts = buildfarm.hostdb.dead_hosts(21 * 86400)
 for host in hosts:
     if host.last_update:
         last_update = time.strftime("%a %b %e %H:%M:%S %Y", time.gmtime(host.last_update))
@@ -42,7 +42,7 @@ for host in hosts:
 
     body = """
 Your host %s has been part of the Samba Build farm, hosted
-at http://build.samba.org.
+at https://build.samba.org/.
 
 Sadly however we have not heard from it since %s.
 
@@ -53,14 +53,13 @@ why we have not heard from your host?
 If you no longer wish your host to participate in the Samba Build
 Farm, then please let us know so we can remove its records.
 
-You can see the summary for your host at:
-http://build.samba.org/?function=View+Host;host=%s
+You can see the summary for your host at: %s
 
 Thanks,
 
 The Build Farm administration team.
 
-""" % (host.name, last_update, host.name)
+""" % (host.name, last_update, host_uri("https://build.samba.org/build.cgi", host.name))
 
     msg = MIMEText(body)
 
@@ -68,11 +67,12 @@ The Build Farm administration team.
     msg["Subject"] ="Your build farm host %s appears dead" % host.name
     msg["From"] = "\"Samba Build Farm\" <build@samba.org>"
     msg["To"] = "\"%s\" <%s>" % host.owner
+    msg["Bcc"] = "\"Samba Build Farm\" <build@samba.org>"
 
     if opts.dry_run:
         print msg.as_string()
     else:
-        smtp.sendmail(msg["From"], [msg["To"]], msg.as_string())
+        smtp.sendmail(msg["From"], [msg["To"], msg["Bcc"]], msg.as_string())
         host.dead_mail_sent()
-db.commit()
+buildfarm.commit()
 smtp.quit()