[Spambayes-checkins]
spambayes/Outlook2000/dialogs ClassifyDialog.py,1.4,1.5
FilterDialog.py,1.4,1.5 FolderSelector.py,1.2,1.3
ManagerDialog.py,1.2,1.3 RuleDialog.py,1.3,1.4TrainingDialog.py,1.3,1.4
Mark Hammond
mhammond@users.sourceforge.net
Thu, 24 Oct 2002 23:58:22 -0700
- Previous message: [Spambayes-checkins]
spambayes/Outlook2000 addin.py,1.16,1.17 manager.py,1.19,1.20
- Next message: [Spambayes-checkins]
spambayes/Outlook2000 classify.py,1.9,1.10 manager.py,1.20,1.21
train.py,1.7,1.8
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/spambayes/spambayes/Outlook2000/dialogs
In directory usw-pr-cvs1:/tmp/cvs-serv11097/dialogs
Modified Files:
ClassifyDialog.py FilterDialog.py FolderSelector.py
ManagerDialog.py RuleDialog.py TrainingDialog.py
Log Message:
Remove the rest of CDO/MAPI - we no longer need this for *anything*
Index: ClassifyDialog.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/Outlook2000/dialogs/ClassifyDialog.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** ClassifyDialog.py 24 Oct 2002 13:06:39 -0000 1.4
--- ClassifyDialog.py 25 Oct 2002 06:58:20 -0000 1.5
***************
*** 54,58 ****
self.classifier = classifier
self.config = mgr.config.classify
- self.mapi = mgr.mapi
self.mgr = mgr
AsyncDialogBase.__init__ (self, self.dt)
--- 54,57 ----
***************
*** 66,78 ****
def UpdateStatus(self):
names = []
- cwd = os.getcwd() # mapi.GetFolder() switches to the system MAPI dir
for eid in self.config.folder_ids:
try:
! name = self.mapi.GetFolder(eid).Name.encode("ascii", "replace")
except pythoncom.com_error:
name = "<unknown folder>"
names.append(name)
self.SetDlgItemText(IDC_STATIC_FOLDERS, "; ".join(names))
- os.chdir(cwd)
def OnBrowse(self, id, code):
--- 65,75 ----
def UpdateStatus(self):
names = []
for eid in self.config.folder_ids:
try:
! name = self.mgr.message_store.GetFolder(eid).name
except pythoncom.com_error:
name = "<unknown folder>"
names.append(name)
self.SetDlgItemText(IDC_STATIC_FOLDERS, "; ".join(names))
def OnBrowse(self, id, code):
***************
*** 80,84 ****
import FolderSelector
l = self.config.folder_ids
! d = FolderSelector.FolderSelector(self.mapi, l,checkbox_state=self.config.include_sub)
if d.DoModal()==win32con.IDOK:
l[:], self.config.include_sub = d.GetSelectedIDs()[:]
--- 77,81 ----
import FolderSelector
l = self.config.folder_ids
! d = FolderSelector.FolderSelector(self.mgr.message_store.session, l,checkbox_state=self.config.include_sub)
if d.DoModal()==win32con.IDOK:
l[:], self.config.include_sub = d.GetSelectedIDs()[:]
Index: FilterDialog.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/Outlook2000/dialogs/FilterDialog.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** FilterDialog.py 20 Oct 2002 18:53:06 -0000 1.4
--- FilterDialog.py 25 Oct 2002 06:58:20 -0000 1.5
***************
*** 261,265 ****
for eid in folder_ids:
try:
! name = self.mgr.mapi.GetFolder(eid).Name.encode("ascii", "replace")
except pythoncom.com_error:
name = "<unknown folder>"
--- 261,265 ----
for eid in folder_ids:
try:
! name = self.mgr.message_store.GetFolder(eid).name
except pythoncom.com_error:
name = "<unknown folder>"
***************
*** 271,275 ****
import FolderSelector
filter = self.mgr.config.filter
! d = FolderSelector.FolderSelector(self.mgr.mapi, filter.folder_ids,checkbox_state=filter.include_sub)
if d.DoModal()==win32con.IDOK:
filter.folder_ids, filter.include_sub = d.GetSelectedIDs()
--- 271,275 ----
import FolderSelector
filter = self.mgr.config.filter
! d = FolderSelector.FolderSelector(self.mgr.message_store.session, filter.folder_ids,checkbox_state=filter.include_sub)
if d.DoModal()==win32con.IDOK:
filter.folder_ids, filter.include_sub = d.GetSelectedIDs()
***************
*** 334,338 ****
for eid in self.mgr.config.filter_now.folder_ids:
try:
! name = self.mgr.mapi.GetFolder(eid).Name.encode("ascii", "replace")
except pythoncom.com_error:
name = "<unknown folder>"
--- 334,338 ----
for eid in self.mgr.config.filter_now.folder_ids:
try:
! name = self.mgr.message_store.GetFolder(eid).name
except pythoncom.com_error:
name = "<unknown folder>"
***************
*** 344,348 ****
import FolderSelector
filter = self.mgr.config.filter_now
! d = FolderSelector.FolderSelector(self.mgr.mapi, filter.folder_ids,checkbox_state=filter.include_sub)
if d.DoModal()==win32con.IDOK:
filter.folder_ids, filter.include_sub = d.GetSelectedIDs()
--- 344,348 ----
import FolderSelector
filter = self.mgr.config.filter_now
! d = FolderSelector.FolderSelector(self.mgr.message_store.session, filter.folder_ids,checkbox_state=filter.include_sub)
if d.DoModal()==win32con.IDOK:
filter.folder_ids, filter.include_sub = d.GetSelectedIDs()
***************
*** 368,371 ****
--- 368,372 ----
if __name__=='__main__':
+ # This doesnt work - still uses CDO.
from win32com.client import Dispatch
import pythoncom
Index: FolderSelector.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/Outlook2000/dialogs/FolderSelector.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** FolderSelector.py 19 Oct 2002 18:14:01 -0000 1.2
--- FolderSelector.py 25 Oct 2002 06:58:20 -0000 1.3
***************
*** 11,22 ****
# Helpers for building the folder list
class FolderSpec:
! def __init__(self, folder, name = None):
! if name is None:
! self.name = folder.Name
! else:
! self.name = name
! self.name = self.name.encode("ascii", "replace")
self.children = []
- self.folder = folder
def dump(self, level=0):
--- 11,18 ----
# Helpers for building the folder list
class FolderSpec:
! def __init__(self, folder_id, name):
! self.folder_id = folder_id
! self.name = name
self.children = []
def dump(self, level=0):
***************
*** 26,40 ****
c.dump(level+1)
! def _BuildFolders(folders):
children = []
folder = folders.GetFirst()
while folder:
! spec = FolderSpec(folder)
! spec.children = _BuildFolders(folder.Folders)
children.append(spec)
folder = folders.GetNext()
return children
! def BuildFolderTree(session):
infostores = session.InfoStores
root = FolderSpec(None, "root")
--- 22,39 ----
c.dump(level+1)
! #########################################################################
! ## CDO version of a folder walker.
! #########################################################################
! def _BuildFoldersCDO(folders):
children = []
folder = folders.GetFirst()
while folder:
! spec = FolderSpec(folder.ID, folder.Name.encode("mbcs", "replace"))
! spec.children = _BuildFoldersCDO(folder.Folders)
children.append(spec)
folder = folders.GetNext()
return children
! def BuildFolderTreeCDO(session):
infostores = session.InfoStores
root = FolderSpec(None, "root")
***************
*** 43,53 ****
rootFolder = infostore.RootFolder
folders = rootFolder.Folders
! spec = FolderSpec(rootFolder, infostore.Name)
! spec.children = _BuildFolders(folders)
root.children.append(spec)
return root
! #
! # The dialog itself
# IDs for controls we use.
--- 42,87 ----
rootFolder = infostore.RootFolder
folders = rootFolder.Folders
! spec = FolderSpec(rootFolder.ID, infostore.Name.encode("mbcs", "replace"))
! spec.children = _BuildFoldersCDO(folders)
! root.children.append(spec)
! return root
!
! #########################################################################
! ## An extended MAPI version
! #########################################################################
! from win32com.mapi import mapi
! from win32com.mapi.mapitags import *
!
! def _BuildFoldersMAPI(msgstore, folder):
! # Get the hierarchy table for it.
! table = folder.GetHierarchyTable(0)
! children = []
! rows = mapi.HrQueryAllRows(table, (PR_ENTRYID,PR_DISPLAY_NAME_A), None, None, 0)
! for (eid_tag, eid),(name_tag, name) in rows:
! spec = FolderSpec(mapi.HexFromBin(eid), name)
! child_folder = msgstore.OpenEntry(eid, None, mapi.MAPI_DEFERRED_ERRORS)
! spec.children = _BuildFoldersMAPI(msgstore, child_folder)
! children.append(spec)
! return children
!
! def BuildFolderTreeMAPI(session):
! root = FolderSpec(None, "root")
! tab = session.GetMsgStoresTable(0)
! rows = mapi.HrQueryAllRows(tab, (PR_ENTRYID, PR_DISPLAY_NAME_A), None, None, 0)
! for row in rows:
! (eid_tag, eid), (name_tag, name) = row
! msgstore = session.OpenMsgStore(0, eid, None, mapi.MDB_NO_MAIL | mapi.MAPI_DEFERRED_ERRORS)
! hr, data = msgstore.GetProps( ( PR_IPM_SUBTREE_ENTRYID,), 0)
! subtree_eid = data[0][1]
! folder = msgstore.OpenEntry(subtree_eid, None, mapi.MAPI_DEFERRED_ERRORS)
! spec = FolderSpec(mapi.HexFromBin(subtree_eid), name)
! spec.children = _BuildFoldersMAPI(msgstore, folder)
root.children.append(spec)
return root
!
! #########################################################################
! ## The dialog itself
! #########################################################################
# IDs for controls we use.
***************
*** 110,114 ****
mask = state = 0
else:
! if self.selected_ids and child.folder.ID in self.selected_ids:
state = INDEXTOSTATEIMAGEMASK(IIL_CHECKED)
num_children_selected += 1
--- 144,148 ----
mask = state = 0
else:
! if self.selected_ids and child.folder_id in self.selected_ids:
state = INDEXTOSTATEIMAGEMASK(IIL_CHECKED)
num_children_selected += 1
***************
*** 118,122 ****
item_id = self._MakeItemParam(child)
hitem = self.list.InsertItem(hParent, 0, (None, state, mask, text, bitmapCol, bitmapSel, cItems, item_id))
! if self.single_select and self.selected_ids and child.folder.ID in self.selected_ids:
self.list.SelectItem(hitem)
--- 152,156 ----
item_id = self._MakeItemParam(child)
hitem = self.list.InsertItem(hParent, 0, (None, state, mask, text, bitmapCol, bitmapSel, cItems, item_id))
! if self.single_select and self.selected_ids and child.folder_id in self.selected_ids:
self.list.SelectItem(hitem)
***************
*** 193,197 ****
self.GetDlgItem(IDC_BUTTON_CLEARALL).ShowWindow(win32con.SW_HIDE)
! tree = BuildFolderTree(self.mapi)
self._InsertSubFolders(0, tree)
self.selected_ids = [] # wipe this out while we are alive.
--- 227,236 ----
self.GetDlgItem(IDC_BUTTON_CLEARALL).ShowWindow(win32con.SW_HIDE)
! if hasattr(self.mapi, "_oleobj_"): # Dispatch COM object
! # CDO
! tree = BuildFolderTreeCDO(self.mapi)
! else:
! # Extended MAPI.
! tree = BuildFolderTreeMAPI(self.mapi)
self._InsertSubFolders(0, tree)
self.selected_ids = [] # wipe this out while we are alive.
***************
*** 269,281 ****
ret = []
for info, spec in self._YieldCheckedChildren():
! ret.append(spec.folder.ID)
return ret, self.GetDlgItem(IDC_BUTTON_SEARCHSUB).GetCheck() != 0
! def TestWithMAPI():
from win32com.client import Dispatch
mapi = Dispatch("MAPI.Session")
mapi.Logon("", "", False, False)
ids = [u'0000000071C4408983B0B24F8863EE66A8F79AFF82800000']
! d=FolderSelector(mapi, ids, single_select = True)
d.DoModal()
print d.GetSelectedIDs()
--- 308,329 ----
ret = []
for info, spec in self._YieldCheckedChildren():
! ret.append(spec.folder_id)
return ret, self.GetDlgItem(IDC_BUTTON_SEARCHSUB).GetCheck() != 0
! def TestWithCDO():
from win32com.client import Dispatch
mapi = Dispatch("MAPI.Session")
mapi.Logon("", "", False, False)
ids = [u'0000000071C4408983B0B24F8863EE66A8F79AFF82800000']
! d=FolderSelector(mapi, ids, single_select = False)
! d.DoModal()
! print d.GetSelectedIDs()
!
! def TestWithMAPI():
! mapi.MAPIInitialize(None)
! logonFlags = mapi.MAPI_NO_MAIL | mapi.MAPI_EXTENDED | mapi.MAPI_USE_DEFAULT
! session = mapi.MAPILogonEx(0, None, None, logonFlags)
! ids = [u'0000000071C4408983B0B24F8863EE66A8F79AFF82800000']
! d=FolderSelector(session, ids, single_select = False)
d.DoModal()
print d.GetSelectedIDs()
Index: ManagerDialog.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/Outlook2000/dialogs/ManagerDialog.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** ManagerDialog.py 20 Oct 2002 18:53:06 -0000 1.2
--- ManagerDialog.py 25 Oct 2002 06:58:20 -0000 1.3
***************
*** 89,93 ****
names = []
for eid in self.mgr.config.filter.folder_ids:
! names.append(self.mgr.mapi.GetFolder(eid).Name.encode("ascii", "replace"))
# count enabled rules
num = len([r for r in self.mgr.config.rules if r.enabled ])
--- 89,93 ----
names = []
for eid in self.mgr.config.filter.folder_ids:
! names.append(self.mgr.message_store.GetFolder(eid).name)
# count enabled rules
num = len([r for r in self.mgr.config.rules if r.enabled ])
Index: RuleDialog.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/Outlook2000/dialogs/RuleDialog.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** RuleDialog.py 19 Oct 2002 22:30:03 -0000 1.3
--- RuleDialog.py 25 Oct 2002 06:58:20 -0000 1.4
***************
*** 95,102 ****
if not self.folder_id:
name = ""
- elif self.mgr.mapi is None:
- name = "<no mapi!>"
else:
! name = self.mgr.mapi.GetFolder(self.folder_id).Name.encode("ascii", "replace")
except pythoncom.com_error:
name = "<unknown folder>"
--- 95,100 ----
if not self.folder_id:
name = ""
else:
! name = self.mgr.message_store.GetFolder(self.folder_id).name
except pythoncom.com_error:
name = "<unknown folder>"
***************
*** 122,126 ****
import FolderSelector
ids = [self.folder_id]
! d = FolderSelector.FolderSelector(self.mgr.mapi, ids,single_select=True,checkbox_state=None)#, allow_multi=False)
if d.DoModal()==win32con.IDOK:
new_ids, cb_state = d.GetSelectedIDs()
--- 120,124 ----
import FolderSelector
ids = [self.folder_id]
! d = FolderSelector.FolderSelector(self.mgr.message_store.session, ids,single_select=True,checkbox_state=None)#, allow_multi=False)
if d.DoModal()==win32con.IDOK:
new_ids, cb_state = d.GetSelectedIDs()
***************
*** 190,199 ****
if __name__=='__main__':
! from win32com.client import Dispatch
! try:
! mapi = Dispatch("MAPI.Session")
! mapi.Logon()
! except pythoncom.com_error:
! mapi = None
class Rule:
def __init__(self):
--- 188,193 ----
if __name__=='__main__':
! # This doesn't work
!
class Rule:
def __init__(self):
Index: TrainingDialog.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/Outlook2000/dialogs/TrainingDialog.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** TrainingDialog.py 20 Oct 2002 05:52:50 -0000 1.3
--- TrainingDialog.py 25 Oct 2002 06:58:20 -0000 1.4
***************
*** 6,9 ****
--- 6,10 ----
import win32ui
import win32api
+ import pythoncom
#these are the atom numbers defined by Windows for basic dialog controls
***************
*** 54,58 ****
self.trainer = trainer
self.config = mgr.config.training
- self.mapi = mgr.mapi
AsyncDialogBase.__init__ (self, self.dt)
--- 55,58 ----
***************
*** 65,72 ****
def UpdateStatus(self):
names = []
- cwd = os.getcwd() # mapi.GetFolder() switches to the system MAPI dir
for eid in self.config.ham_folder_ids:
try:
! name = self.mapi.GetFolder(eid).Name.encode("ascii", "replace")
except pythoncom.com_error:
name = "<unknown folder>"
--- 65,71 ----
def UpdateStatus(self):
names = []
for eid in self.config.ham_folder_ids:
try:
! name = self.mgr.message_store.GetFolder(eid).name
except pythoncom.com_error:
name = "<unknown folder>"
***************
*** 77,86 ****
for eid in self.config.spam_folder_ids:
try:
! name = self.mapi.GetFolder(eid).Name.encode("ascii", "replace")
except pythoncom.com_error:
name = "<unknown folder>"
names.append(name)
self.SetDlgItemText(IDC_STATIC_SPAM, "; ".join(names))
- os.chdir(cwd)
def OnBrowse(self, id, code):
--- 76,84 ----
for eid in self.config.spam_folder_ids:
try:
! name = self.mgr.message_store.GetFolder(eid).name
except pythoncom.com_error:
name = "<unknown folder>"
names.append(name)
self.SetDlgItemText(IDC_STATIC_SPAM, "; ".join(names))
def OnBrowse(self, id, code):
***************
*** 94,98 ****
sub_attr = "ham_include_sub"
include_sub = getattr(self.config, sub_attr)
! d = FolderSelector.FolderSelector(self.mapi, l, checkbox_state=include_sub)
if d.DoModal()==win32con.IDOK:
l[:], include_sub = d.GetSelectedIDs()[:]
--- 92,96 ----
sub_attr = "ham_include_sub"
include_sub = getattr(self.config, sub_attr)
! d = FolderSelector.FolderSelector(self.mgr.message_store.session, l, checkbox_state=include_sub)
if d.DoModal()==win32con.IDOK:
l[:], include_sub = d.GetSelectedIDs()[:]
- Previous message: [Spambayes-checkins]
spambayes/Outlook2000 addin.py,1.16,1.17 manager.py,1.19,1.20
- Next message: [Spambayes-checkins]
spambayes/Outlook2000 classify.py,1.9,1.10 manager.py,1.20,1.21
train.py,1.7,1.8
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]