talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit bac58acf0fe34e6801f040822af7414eb56e397f
parent 3674dea3cd04371151b555b2ed785ece13456853
Author: Holger Berndt <hb@claws-mail.org>
Date:   Tue, 20 Aug 2013 00:13:20 +0200

Python plugin: Example: Make recursive-mark-as-read also work on mailbox
Diffstat:
Msrc/plugins/python/examples/main/Recusively-mark-messages-as-read | 56++++++++++++++++++++++++++++++--------------------------
1 file changed, 30 insertions(+), 26 deletions(-)

diff --git a/src/plugins/python/examples/main/Recusively-mark-messages-as-read b/src/plugins/python/examples/main/Recusively-mark-messages-as-read @@ -2,34 +2,38 @@ # Define the function to deal with each folder def deal_with_folder(folder): - # Get actions for selecting all messages, and marking the selection as read - action_group = clawsmail.get_mainwindow_action_group(); - select_all_action = action_group.get_action("Edit/SelectAll") - mark_read_action = action_group.get_action("Message/Mark/MarkRead") - - # Select given folder - clawsmail.folderview_select_folder(folder) - - # Search for messages with age greater than 28 days - clawsmail.quicksearch_search("ag 28", clawsmail.QUICK_SEARCH_EXTENDED) - - # Mark all messages in the search result as read - select_all_action.activate() - mark_read_action.activate() + if folder.num_unread_messages > 0: + # Get actions for selecting all messages, and marking the selection as read + action_group = clawsmail.get_mainwindow_action_group(); + select_all_action = action_group.get_action("Edit/SelectAll") + mark_read_action = action_group.get_action("Message/Mark/MarkRead") + + # Select given folder + clawsmail.folderview_select_folder(folder) + + # Search for messages with age greater than 28 days + clawsmail.quicksearch_search("ag 28", clawsmail.QUICK_SEARCH_EXTENDED) + + # Mark all messages in the search result as read + select_all_action.activate() + mark_read_action.activate() # Get selected folder root = clawsmail.get_folderview_selected_folder() +if root is None: + root = clawsmail.get_folderview_selected_mailbox() -# Get a tree of subfolders. The argument could also be a string of a mailbox name, -# or left out for a list of mailbox trees. -tree = clawsmail.get_folder_tree(root) - -# Call above function for all folders. -tree.traverse(deal_with_folder) - -# Clear the quicksearch widget again -clawsmail.quicksearch_clear() - -# Change back to original folder -clawsmail.folderview_select_folder(root) +if root is not None: + # Get a tree of subfolders. The argument could also be a string of a mailbox name, + # or left out for a list of mailbox trees. + tree = clawsmail.get_folder_tree(root) + + # Call above function for all folders. + tree.traverse(deal_with_folder) + + # Clear the quicksearch widget again + clawsmail.quicksearch_clear() + + # Change back to original folder + clawsmail.folderview_select(root)