[Spambayes-checkins]
spambayes/Outlook2000 addin.py,1.1,1.2 manager.py,1.10,1.11
Mark Hammond
mhammond@users.sourceforge.net
Sun, 20 Oct 2002 01:28:01 -0700
Update of /cvsroot/spambayes/spambayes/Outlook2000
In directory usw-pr-cvs1:/tmp/cvs-serv10411
Modified Files:
addin.py manager.py
Log Message:
Ensure addin and respond dynamically to changes made in the GUI
(ie, list of folders to watch changes)
Index: addin.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/Outlook2000/addin.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** addin.py 20 Oct 2002 07:47:00 -0000 1.1
--- addin.py 20 Oct 2002 08:27:58 -0000 1.2
***************
*** 73,76 ****
--- 73,79 ----
class FolderItemsEvent:
+ def __del__(self):
+ print "Event dieing"
+
def Init(self, target, application, manager):
self.application = application
***************
*** 107,110 ****
--- 110,115 ----
import manager
self.manager = manager.GetManager()
+ assert self.manager.addin is None, "Should not already have an addin"
+ self.manager.addin = self
# ActiveExplorer may be none when started without a UI (eg, WinCE synchronisation)
***************
*** 121,127 ****
item.Enabled = True
# Create a notification hook for all folders we filter.
self.UpdateFolderHooks()
!
def UpdateFolderHooks(self):
new_hooks = {}
--- 126,135 ----
item.Enabled = True
+ self.FiltersChanged()
+
+ def FiltersChanged(self):
# Create a notification hook for all folders we filter.
self.UpdateFolderHooks()
!
def UpdateFolderHooks(self):
new_hooks = {}
***************
*** 139,145 ****
new_hook.Init(folder, self.application, self.manager)
new_hooks[eid] = new_hook
! print "Created new message hook for", folder.Name
else:
new_hooks[eid] = existing
self.folder_hooks = new_hooks
--- 147,156 ----
new_hook.Init(folder, self.application, self.manager)
new_hooks[eid] = new_hook
! print "AntiSpam: Watching for new messages in folder", folder.Name
else:
new_hooks[eid] = existing
+ for k in self.folder_hooks.keys():
+ if not new_hooks.has_key(k):
+ self.folder_hooks[k]._obj_.close()
self.folder_hooks = new_hooks
Index: manager.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/Outlook2000/manager.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** manager.py 20 Oct 2002 07:47:00 -0000 1.10
--- manager.py 20 Oct 2002 08:27:58 -0000 1.11
***************
*** 39,42 ****
--- 39,43 ----
class BayesManager:
def __init__(self, config_base="default", outlook=None, verbose=1):
+ self.addin = None
self.verbose = verbose
if not os.path.isabs(config_base):
***************
*** 231,234 ****
--- 232,237 ----
d = dialogs.FilterDialog.FilterArrivalsDialog(dlg.mgr, rule.Rule, filter.filterer)
d.DoModal()
+ if dlg.mgr.addin is not None:
+ dlg.mgr.addin.FiltersChanged()
import dialogs.ManagerDialog