3 """Update the xvm-contacts list.
5 This script finds all e-mail addresses currently listed as contacts
6 for a VM and updates the xvm-contacts list to match, adding or
14 from invirt import database
15 from invirt import remctl
20 for m in database.Machine.query():
22 contacts.add(m.contact.lower())
24 contacts.add(m.contact.lower() + '@mit.edu')
26 return sorted(contacts)
29 if c.endswith('@mit.edu'):
34 def updateContacts(contacts):
35 now = datetime.datetime.now()
36 p = subprocess.Popen(['blanche', '-f', '-', '-D', 'All contacts for XVM Machines (%02d/%2d/%2d)' % (now.month, now.day, now.year), 'xvm-contacts'],
37 stdin=subprocess.PIPE,
40 p.communicate('\n'.join(stripDomain(c) for c in contacts))
44 subprocess.call(['kinit', '-k'])
46 updateContacts(getContacts())
48 if __name__ == '__main__':