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:
parent
d45477df93
commit
49860fe1ce
3 changed files with 15 additions and 5 deletions
|
@ -41,6 +41,7 @@ from cybertools.agent.crawl.mail import MailCrawler
|
||||||
from cybertools.agent.crawl.mail import MailResource
|
from cybertools.agent.crawl.mail import MailResource
|
||||||
from cybertools.agent.components import agents
|
from cybertools.agent.components import agents
|
||||||
from cybertools.agent.system.windows import api
|
from cybertools.agent.system.windows import api
|
||||||
|
from cybertools.agent.util.task import coiterate
|
||||||
|
|
||||||
# some constants
|
# some constants
|
||||||
COMMASPACE = ', '
|
COMMASPACE = ', '
|
||||||
|
@ -53,16 +54,20 @@ class OutlookCrawler(MailCrawler):
|
||||||
pattern = ""
|
pattern = ""
|
||||||
|
|
||||||
def collect(self, filter=None):
|
def collect(self, filter=None):
|
||||||
|
self.collected = []
|
||||||
self.d = defer.Deferred()
|
self.d = defer.Deferred()
|
||||||
self.oOutlookApp = None
|
self.oOutlookApp = None
|
||||||
if self.findOutlook():
|
if self.findOutlook():
|
||||||
self.fetchCriteria()
|
self.fetchCriteria()
|
||||||
self.d.addCallback(self.crawlFolders)
|
coiterate(self.crawlFolders()).addCallback(self.finished)
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
#self.d.addErrback([])
|
#self.d.addErrback([])
|
||||||
return self.d
|
return self.d
|
||||||
|
|
||||||
|
def finished(self, result):
|
||||||
|
self.d.callback(self.result)
|
||||||
|
|
||||||
def fetchCriteria(self):
|
def fetchCriteria(self):
|
||||||
criteria = self.params
|
criteria = self.params
|
||||||
self.keys = criteria.get('keys')
|
self.keys = criteria.get('keys')
|
||||||
|
@ -91,7 +96,6 @@ class OutlookCrawler(MailCrawler):
|
||||||
# get specified MAPI-subfolder object and load its emails
|
# get specified MAPI-subfolder object and load its emails
|
||||||
if self.pattern.match(getattr(lInboxSubfolders.Item(of + 1), 'Name')):
|
if self.pattern.match(getattr(lInboxSubfolders.Item(of + 1), 'Name')):
|
||||||
self.loadMailsFromFolder(lInboxSubfolders.Item(of + 1))
|
self.loadMailsFromFolder(lInboxSubfolders.Item(of + 1))
|
||||||
return self.result
|
|
||||||
|
|
||||||
def loadMailsFromFolder(self, folder):
|
def loadMailsFromFolder(self, folder):
|
||||||
# get items of the folder
|
# get items of the folder
|
||||||
|
@ -111,6 +115,8 @@ class OutlookCrawler(MailCrawler):
|
||||||
msg = self.createEmailMime(record)
|
msg = self.createEmailMime(record)
|
||||||
# Create a resource and append it to the result list
|
# Create a resource and append it to the result list
|
||||||
self.createResource(msg, folder, "Microsoft Office Outlook")
|
self.createResource(msg, folder, "Microsoft Office Outlook")
|
||||||
|
#return self.result
|
||||||
|
yield None
|
||||||
|
|
||||||
def login(self):
|
def login(self):
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -43,3 +43,6 @@ the twisted reactor first.
|
||||||
>>> from cybertools.agent.tests import tester
|
>>> from cybertools.agent.tests import tester
|
||||||
>>> tester.iterate()
|
>>> tester.iterate()
|
||||||
Outlook.Application retrieved
|
Outlook.Application retrieved
|
||||||
|
Namespace MAPI retrieved
|
||||||
|
retrieving Outlook default folder
|
||||||
|
collecting Mails from folder
|
||||||
|
|
|
@ -46,9 +46,10 @@ class OutlookFolder(object):
|
||||||
Folders = None
|
Folders = None
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
Items[0] = Mail()
|
print "collecting Mails from folder"
|
||||||
Items[1] = Mail()
|
self.Items[0] = Mail()
|
||||||
pass
|
self.Items[1] = Mail()
|
||||||
|
self.Items[2] = Mail()
|
||||||
|
|
||||||
|
|
||||||
class OutlookNamespace(object):
|
class OutlookNamespace(object):
|
||||||
|
|
Loading…
Add table
Reference in a new issue