[Spambayes-checkins] spambayes/Outlook2000 msgstore.py,1.63,1.64

Mark Hammond mhammond at users.sourceforge.net
Sat Aug 23 21:00:51 EDT 2003


Update of /cvsroot/spambayes/spambayes/Outlook2000
In directory sc8-pr-cvs1:/tmp/cvs-serv28414

Modified Files:
	msgstore.py 
Log Message:
Add GetRootFolder() method to get the root of any info store, and
allow CreateFolder() to work if the folder already exists without needing
the caller to know the specific mapi flag.


Index: msgstore.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/Outlook2000/msgstore.py,v
retrieving revision 1.63
retrieving revision 1.64
diff -C2 -d -r1.63 -r1.64
*** msgstore.py	21 Aug 2003 07:02:39 -0000	1.63
--- msgstore.py	24 Aug 2003 03:00:49 -0000	1.64
***************
*** 214,217 ****
--- 214,226 ----
          return store
  
+     def GetRootFolder(self, store_id = None):
+         # if storeID is None, gets the root folder from the default store.
+         store = self._GetMessageStore(store_id)
+         hr, data = store.GetProps((PR_ENTRYID, PR_IPM_SUBTREE_ENTRYID), 0)
+         store_eid = data[0][1]
+         subtree_eid = data[1][1]
+         eid = mapi.HexFromBin(store_eid), mapi.HexFromBin(subtree_eid)
+         return self.GetFolder(eid)
+ 
      def _OpenEntry(self, id, iid = None, flags = None):
          # id is already normalized.
***************
*** 526,532 ****
          return mapi_store.CompareEntryIDs(eid, self.id[1])
  
!     def CreateFolder(self, name, comments = None, type = None, flags = None):
          if type is None: type = mapi.FOLDER_GENERIC
          if flags is None: flags = 0
          folder = self.OpenEntry()
          ret = folder.CreateFolder(type, name, comments, None, flags)
--- 535,543 ----
          return mapi_store.CompareEntryIDs(eid, self.id[1])
  
!     def CreateFolder(self, name, comments = None, type = None,
!                      open_if_exists = False, flags = None):
          if type is None: type = mapi.FOLDER_GENERIC
          if flags is None: flags = 0
+         if open_if_exists: flags |= mapi.OPEN_IF_EXISTS
          folder = self.OpenEntry()
          ret = folder.CreateFolder(type, name, comments, None, flags)





More information about the Spambayes-checkins mailing list