import os, sys from datetime import datetime TEMPLATE = """ dn: cn=%(fullname)s,mail=%(email)s objectclass: top objectclass: person objectclass: organizationalPerson objectclass: inetOrgPerson objectclass: mozillaAbPersonAlpha givenName: %(firstname)s sn: %(surname)s cn: %(fullname)s mail: %(email)s modifytimestamp: %(timestamp)s """ addresses = [ ("Tim Golden", "mail@timgolden.me.uk"), ("", "mickey@disney.com") ] def one_person (fullname, email): if fullname: firstname, surname = fullname.rsplit (" ", 1) yield "dn: cn=%s,mail=%s" % (fullname, email) else: firstname = surname = "" yield "dn: mail=%s" % email yield """objectclass: top objectclass: person objectclass: organizationalPerson objectclass: inetOrgPerson objectclass: mozillaAbPersonAlpha""" if fullname: yield "givenName: %s" % firstname yield "sn: %s" % surname yield "cn: %s" % fullname yield "mail: %s" % email yield "modifytimestamp: %s" % datetime.now ().strftime ("%Y%m%dT%H%M%SZ") def main (f): for fullname, email in addresses: f.write ("\n".join (one_person (fullname, email))) f.write ("\n\n") if __name__ == '__main__': main (open ("c:/temp/test.ldif", "w"))