Some simple iteration wrappers lotus notes:
from win32com.client import Dispatch
session = Dispatch('Lotus.NotesSession')
def iterateDocuments(view):
""" wrapper for iterating documents from a view, fe:
for doc in iterateDocuments(inbox): print doc.GetItemValue('Subject') """
doc = view.GetFirstDocument()
while doc:
yield doc
doc = view.GetNextDocument(doc)
def iterateDatabases(server, filetype=1247):
""" wrapper for iterating databases from a server, fe:
for db in iterateDatabases('server'): print db.Title """
db = server.GetFirstDatabase(filetype)
while db:
yield db
db = server.GetNextDatabase()
def iterateEntries(ACL):
""" wrapper for iterating ACL entries for a database, fe:
for entry in iterateEntries(db.ACL):
if entry.IsPerson: print entry.Name"""
entry = ACL.GetFirstEntry()
while entry:
yield entry
entry = ACL.GetNextEntry(entry)