# 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
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(7 * 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))
body = """
Your host %s has been part of the Samba Build farm, hosted
-at http://build.samba.org.
+at http://build.samba.org/.
Sadly however we have not heard from it since %s.
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("http://build.samba.org/build.cgi", host.name))
msg = MIMEText(body)
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()