cybertools/agent/crawl/outlook_real.txt
scrat bd1c522b20 added a doctest in tests.py for testing access to the Outlook API. Minor changes in outlook.py in order to avoid Outlook COM Exception upon call on certain MailItem Attributes (Bug in Outlook API?).
outlook.py: loadMailsFromFolder now returns self.result instead of yield None. Otherwise nothing would be returned.
Added doctest outlook_real.txt which uses the Outlook API.

git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2534 fd906abe-77d9-0310-91a1-e0d9ade77398
2008-04-21 15:42:58 +00:00

45 lines
1.5 KiB
Text

================================================
Agents for Job Execution and Communication Tasks
================================================
($Id: outlook.txt 2522 2008-04-12 16:29:12Z scrat $)
>>> config = '''
... controller(names=['core.sample'])
... scheduler(name='core')
... logger(name='default', standard=30)
... system.winapi = 'use_outlook'
... '''
>>> from cybertools.agent.main import setup
>>> master = setup(config)
Starting agent application...
Using controllers core.sample.
OutlookCrawler
==============
The agent uses Twisted's cooperative multitasking model.
OutlookCrawler is derived from MailCrawler. The OutlookCrawler returns a deferred
which itself holds a list of MailResource Objects.
Returns a deferred that must be supplied with a callback method (and in
most cases also an errback method).
The TestCase here is using subsidiary methods which replace calls to the "real Outlook
dlls".
>>> controller = master.controllers[0]
>>> controller.createAgent('crawl.outlook', 'sample02')
In the next step we request the start of a job, again via the controller.
>>> controller.enterJob('sample', 'sample02', params=dict(inbox=True))
The job is not executed immediately - we have to hand over control to
the twisted reactor first.
>>> from cybertools.agent.tests import tester
>>> tester.iterate()
Job 00001 completed; result: [<cybertools.agent.crawl.mail.MailResource object at ...>];