[Spambayes-checkins]
spambayes/Outlook2000 addin.py,1.22,1.23 manager.py,1.30,1.31
msgstore.py,1.15,1.16
Mark Hammond
mhammond@users.sourceforge.net
Fri Nov 1 14:35:10 2002
Update of /cvsroot/spambayes/spambayes/Outlook2000
In directory usw-pr-cvs1:/tmp/cvs-serv14364
Modified Files:
addin.py manager.py msgstore.py
Log Message:
Fix a problem with the (store_id, item_id) change, and remove the
confusing GetOutlookItemID concept - just get the item!
Index: addin.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/Outlook2000/addin.py,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** addin.py 1 Nov 2002 05:47:59 -0000 1.22
--- addin.py 1 Nov 2002 14:35:05 -0000 1.23
***************
*** 305,312 ****
for msgstore_folder in self.manager.message_store.GetFolderGenerator(
folder_ids, include_sub):
! eid = msgstore_folder.GetOutlookEntryID()
! existing = self.folder_hooks.get(eid)
if existing is None or existing.__class__ != HandlerClass:
! folder = self.application.Session.GetFolderFromID(*eid)
name = folder.Name.encode("mbcs", "replace")
try:
--- 305,311 ----
for msgstore_folder in self.manager.message_store.GetFolderGenerator(
folder_ids, include_sub):
! existing = self.folder_hooks.get(msgstore_folder.id)
if existing is None or existing.__class__ != HandlerClass:
! folder = msgstore_folder.GetOutlookItem()
name = folder.Name.encode("mbcs", "replace")
try:
***************
*** 317,325 ****
if new_hook is not None:
new_hook.Init(folder, self.application, self.manager)
! new_hooks[eid] = new_hook
! self.manager.EnsureOutlookFieldsForFolder(eid)
print "AntiSpam: Watching for new messages in folder", name
else:
! new_hooks[eid] = existing
return new_hooks
--- 316,324 ----
if new_hook is not None:
new_hook.Init(folder, self.application, self.manager)
! new_hooks[msgstore_folder.id] = new_hook
! self.manager.EnsureOutlookFieldsForFolder(msgstore_folder.GetID())
print "AntiSpam: Watching for new messages in folder", name
else:
! new_hooks[msgstore_folder.id] = existing
return new_hooks
Index: manager.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/Outlook2000/manager.py,v
retrieving revision 1.30
retrieving revision 1.31
diff -C2 -d -r1.30 -r1.31
*** manager.py 1 Nov 2002 06:09:06 -0000 1.30
--- manager.py 1 Nov 2002 14:35:05 -0000 1.31
***************
*** 92,96 ****
assert self.outlook is not None, "I need outlook :("
ol = self.outlook
! folder = ol.Session.GetFolderFromID(*folder_id)
if self.verbose > 1:
print "Checking folder '%s' for our field '%s'" \
--- 92,97 ----
assert self.outlook is not None, "I need outlook :("
ol = self.outlook
! msgstore_folder = self.message_store.GetFolder(folder_id)
! folder = msgstore_folder.GetOutlookItem()
if self.verbose > 1:
print "Checking folder '%s' for our field '%s'" \
Index: msgstore.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/Outlook2000/msgstore.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** msgstore.py 1 Nov 2002 05:47:59 -0000 1.15
--- msgstore.py 1 Nov 2002 14:35:06 -0000 1.16
***************
*** 219,230 ****
return MAPIMsgStoreMsg(self, folder, message_id, searchkey, unread)
- ## # Currently no need for this
- ## def GetOutlookObjectFromID(self, eid):
- ## if self.outlook is None:
- ## from win32com.client import Dispatch
- ## self.outlook = Dispatch("Outlook.Application")
- ## return self.outlook.Session.GetItemFromID(mapi.HexFromBin(eid))
-
-
_MapiTypeMap = {
type(0.0): PT_DOUBLE,
--- 219,222 ----
***************
*** 250,260 ****
mapi.HexFromBin(self.id[1]))
! def GetOutlookEntryID(self):
! # Return EntryID, StoreID - we use this order as it is the same as
! # Session.GetItemFromID() uses - thus:
! # ids = me.GetOutlookEntryID()
! # session.GetItemFromID(*ids)
! # should work.
! return mapi.HexFromBin(self.id[1]), mapi.HexFromBin(self.id[0])
def GetMessageGenerator(self):
--- 242,252 ----
mapi.HexFromBin(self.id[1]))
! def GetID(self):
! return mapi.HexFromBin(self.id[0]), mapi.HexFromBin(self.id[1])
!
! def GetOutlookItem(self):
! hex_item_id = mapi.HexFromBin(self.id[1])
! hex_store_id = mapi.HexFromBin(self.id[0])
! return self.msgstore.outlook.Session.GetFolderFromID(hex_item_id, hex_store_id)
def GetMessageGenerator(self):
***************
*** 300,310 ****
mapi.HexFromBin(self.id[1]))
! def GetOutlookEntryID(self):
! # Return EntryID, StoreID - we use this order as it is the same as
! # Session.GetItemFromID() uses - thus:
! # ids = me.GetOutlookEntryID()
! # session.GetItemFromID(*ids)
! # should work.
! return mapi.HexFromBin(self.id[1]), mapi.HexFromBin(self.id[0])
def _GetPropFromStream(self, prop_id):
--- 292,302 ----
mapi.HexFromBin(self.id[1]))
! def GetID(self):
! return mapi.HexFromBin(self.id[0]), mapi.HexFromBin(self.id[1])
!
! def GetOutlookItem(self):
! hex_item_id = mapi.HexFromBin(self.id[1])
! store_hex_id = mapi.HexFromBin(self.id[0])
! return self.msgstore.outlook.Session.GetItemFromID(hex_item_id, hex_store_id)
def _GetPropFromStream(self, prop_id):