changed structure in cybertools/agent/crawl/outlook.py

according to loops/agent/crawl/filesystem.py
adaptations and changes in winapi.py
(Added Mail class and Items in Outlook Folder)
placed comments in proper lines of winapi what next has to be found out about Outlook Mail Objects
Doctests are ok, but iterating over loadMailsFromFolder in outlook.py has a problem with NoneType and therefor does not work yet

git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2522 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
scrat 2008-04-12 16:29:12 +00:00
parent d45477df93
commit 49860fe1ce
3 changed files with 15 additions and 5 deletions

View file

@ -41,6 +41,7 @@ from cybertools.agent.crawl.mail import MailCrawler
from cybertools.agent.crawl.mail import MailResource
from cybertools.agent.components import agents
from cybertools.agent.system.windows import api
from cybertools.agent.util.task import coiterate
# some constants
COMMASPACE = ', '
@ -53,16 +54,20 @@ class OutlookCrawler(MailCrawler):
pattern = ""
def collect(self, filter=None):
self.collected = []
self.d = defer.Deferred()
self.oOutlookApp = None
if self.findOutlook():
self.fetchCriteria()
self.d.addCallback(self.crawlFolders)
coiterate(self.crawlFolders()).addCallback(self.finished)
else:
pass
#self.d.addErrback([])
return self.d
def finished(self, result):
self.d.callback(self.result)
def fetchCriteria(self):
criteria = self.params
self.keys = criteria.get('keys')
@ -91,7 +96,6 @@ class OutlookCrawler(MailCrawler):
# get specified MAPI-subfolder object and load its emails
if self.pattern.match(getattr(lInboxSubfolders.Item(of + 1), 'Name')):
self.loadMailsFromFolder(lInboxSubfolders.Item(of + 1))
return self.result
def loadMailsFromFolder(self, folder):
# get items of the folder
@ -111,6 +115,8 @@ class OutlookCrawler(MailCrawler):
msg = self.createEmailMime(record)
# Create a resource and append it to the result list
self.createResource(msg, folder, "Microsoft Office Outlook")
#return self.result
yield None
def login(self):
pass

View file

@ -43,3 +43,6 @@ the twisted reactor first.
>>> from cybertools.agent.tests import tester
>>> tester.iterate()
Outlook.Application retrieved
Namespace MAPI retrieved
retrieving Outlook default folder
collecting Mails from folder

View file

@ -46,9 +46,10 @@ class OutlookFolder(object):
Folders = None
def __init__(self):
Items[0] = Mail()
Items[1] = Mail()
pass
print "collecting Mails from folder"
self.Items[0] = Mail()
self.Items[1] = Mail()
self.Items[2] = Mail()
class OutlookNamespace(object):