[Assorted-commits] SF.net SVN: assorted:[1453] mailing-list-filter/tags
Brought to you by:
yangzhang
From: <yan...@us...> - 2009-06-07 18:26:38
|
Revision: 1453 http://assorted.svn.sourceforge.net/assorted/?rev=1453&view=rev Author: yangzhang Date: 2009-06-07 18:26:16 +0000 (Sun, 07 Jun 2009) Log Message: ----------- tagged v0.2 release Added Paths: ----------- mailing-list-filter/tags/0.2/ mailing-list-filter/tags/0.2/README mailing-list-filter/tags/0.2/publish.bash mailing-list-filter/tags/0.2/setup.py Removed Paths: ------------- mailing-list-filter/tags/0.2/README mailing-list-filter/tags/0.2/publish.bash mailing-list-filter/tags/0.2/setup.py Property changes on: mailing-list-filter/tags/0.2 ___________________________________________________________________ Added: svn:mergeinfo + Deleted: mailing-list-filter/tags/0.2/README =================================================================== --- mailing-list-filter/trunk/README 2009-06-03 17:52:11 UTC (rev 1451) +++ mailing-list-filter/tags/0.2/README 2009-06-07 18:26:16 UTC (rev 1453) @@ -1,62 +0,0 @@ -Overview --------- - -I have a Gmail account that I use for subscribing to and posting to mailing -lists. When dealing with high-volume mailing lists, I am typically only -interested in those threads that I participated in. This is a simple filter -for starring and marking unread any messages belonging to such threads. - -This is accomplished by looking at the set of messages that were either sent -from me or explicitly addressed to me. From this "root set" of messages, we -can use the `Message-ID`, `References`, and `In-Reply-To` headers to determine -threads, and thus the other messages that we care about. - -I have found this to be more accurate than my two original approaches. I used -to have Gmail filters that starred/marked unread any messages containing my -name anywhere in the message. This worked OK since my name is not too common, -but it produced some false positives (not that bad, just unstar messages) and -some false negatives (much harder to detect). - -A second approach is to tag all subjects with some signature string. This -usually is fine, but it doesn't work when you did not start the thread (and -thus determine the subject). You can try to change the subject line, but this -is (1) poor netiquette, (2) unreliable because your reply may not register in -other mail clients as being part of the same thread (and thus other -participants may miss your reply), and (3) unreliable because replies might not -directly referencing your post (either intentionally or unintentionally). It -also fails when others change the subject. Finally, this approach is -unsatisfactory because it pollutes subject lines, and it essentially replicates -exactly what Message-ID was intended for. - -This script is not intended to be a replacement for the Gmail filters. I still -keep those active so that I can get immediate first-pass filtering. I execute -this script on a daily basis to perform second-pass filtering/unfiltering to -catch those false negatives that may have been missed. - -Setup ------ - -Requirements: - -- [argparse](http://argparse.python-hosting.com/) 0.8.0 -- [Python Commons](http://assorted.sf.net/python-commons/) 0.6 - -Install the program using the standard `setup.py` program. - -Todo ----- - -- Currently, we assume that the server specification points to a mailbox - containing all messages (both sent and received), and a message is determined - to have been sent by you by looking at the From: header field. This works - well with Gmail. An alternative strategy is to look through two folders, one - that's the Inbox and one that's the Sent mailbox, and treat all messages in - Sent as having been sent by you. This is presumably how most other IMAP - servers work. - -- Implement incremental maintenance of local cache. - -- Accept custom operations for filtered/unfiltered messages - (trashing/untrashing, labeling/unlabeling, etc.). - -- Refactor the message fetching/management part out into its own library. Copied: mailing-list-filter/tags/0.2/README (from rev 1452, mailing-list-filter/trunk/README) =================================================================== --- mailing-list-filter/tags/0.2/README (rev 0) +++ mailing-list-filter/tags/0.2/README 2009-06-07 18:26:16 UTC (rev 1453) @@ -0,0 +1,72 @@ +Overview +-------- + +I have a Gmail account that I use for subscribing to and posting to mailing +lists. When dealing with high-volume mailing lists, I am typically only +interested in those threads that I participated in. This is a simple filter +for starring and marking unread any messages belonging to such threads. + +This is accomplished by looking at the set of messages that were either sent +from me or explicitly addressed to me. From this "root set" of messages, we +can use the `Message-ID`, `References`, and `In-Reply-To` headers to determine +threads, and thus the other messages that we care about. + +I have found this to be more accurate than my two original approaches. I used +to have Gmail filters that starred/marked unread any messages containing my +name anywhere in the message. This worked OK since my name is not too common, +but it produced some false positives (not that bad, just unstar messages) and +some false negatives (much harder to detect). + +A second approach is to tag all subjects with some signature string. This +usually is fine, but it doesn't work when you did not start the thread (and +thus determine the subject). You can try to change the subject line, but this +is (1) poor netiquette, (2) unreliable because your reply may not register in +other mail clients as being part of the same thread (and thus other +participants may miss your reply), and (3) unreliable because replies might not +directly referencing your post (either intentionally or unintentionally). It +also fails when others change the subject. Finally, this approach is +unsatisfactory because it pollutes subject lines, and it essentially replicates +exactly what Message-ID was intended for. + +This script is not intended to be a replacement for the Gmail filters. I still +keep those active so that I can get immediate first-pass filtering. I execute +this script on a daily basis to perform second-pass filtering/unfiltering to +catch those false negatives that may have been missed. + +Setup +----- + +Requirements: + +- [argparse](http://argparse.python-hosting.com/) 0.8.0 +- [Python Commons](http://assorted.sf.net/python-commons/) 0.6 + +Install the program using the standard `setup.py` program. + +Todo +---- + +- Currently, we assume that the server specification points to a mailbox + containing all messages (both sent and received), and a message is determined + to have been sent by you by looking at the From: header field. This works + well with Gmail. An alternative strategy is to look through two folders, one + that's the Inbox and one that's the Sent mailbox, and treat all messages in + Sent as having been sent by you. This is presumably how most other IMAP + servers work. + +- Accept custom operations for filtered/unfiltered messages + (trashing/untrashing, labeling/unlabeling, etc.). + +- Refactor the message fetching/management part out into its own library. + +Changes +------- + +v0.2 + +- Added disk-based operation to remove memory capacity limit. +- Added incremental updates to local cache. + +v0.1 + +- Initial release: fully in-memory operation and no incremental updates. Deleted: mailing-list-filter/tags/0.2/publish.bash =================================================================== --- mailing-list-filter/trunk/publish.bash 2009-06-03 17:52:11 UTC (rev 1451) +++ mailing-list-filter/tags/0.2/publish.bash 2009-06-07 18:26:16 UTC (rev 1453) @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -fullname='Mailing List Filter' -version=0.1 -license=gpl -websrcs=( README ) -rels=( pypi: ) -. assorted.bash "$@" Copied: mailing-list-filter/tags/0.2/publish.bash (from rev 1452, mailing-list-filter/trunk/publish.bash) =================================================================== --- mailing-list-filter/tags/0.2/publish.bash (rev 0) +++ mailing-list-filter/tags/0.2/publish.bash 2009-06-07 18:26:16 UTC (rev 1453) @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +fullname='Mailing List Filter' +version=0.2 +license=gpl3 +websrcs=( README ) +rels=( pypi: ) +. assorted.bash "$@" Deleted: mailing-list-filter/tags/0.2/setup.py =================================================================== --- mailing-list-filter/trunk/setup.py 2009-06-03 17:52:11 UTC (rev 1451) +++ mailing-list-filter/tags/0.2/setup.py 2009-06-07 18:26:16 UTC (rev 1453) @@ -1,28 +0,0 @@ -#!/usr/bin/env python - -from commons.setup import run_setup - -pkg_info_text = """ -Metadata-Version: 1.1 -Name: mailing-list-filter -Version: 0.1 -Author: Yang Zhang -Author-email: yaaang NOSPAM at REMOVECAPS gmail -Home-page: http://assorted.sourceforge.net/mailing-list-filter/ -Download-url: http://pypi.python.org/pypi/mailing-list-filter/ -Summary: Mailing List Filter -License: Python Software Foundation License -Description: Filter mailing list email for relevant threads only. -Keywords: mailing,list,email,filter,IMAP,Gmail -Platform: any -Provides: commons -Classifier: Development Status :: 4 - Beta -Classifier: Environment :: No Input/Output (Daemon) -Classifier: Intended Audience :: End Users/Desktop -Classifier: License :: OSI Approved :: Python Software Foundation License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Topic :: Communications :: Email -""" - -run_setup(pkg_info_text, scripts = ['src/mlf.py']) Copied: mailing-list-filter/tags/0.2/setup.py (from rev 1452, mailing-list-filter/trunk/setup.py) =================================================================== --- mailing-list-filter/tags/0.2/setup.py (rev 0) +++ mailing-list-filter/tags/0.2/setup.py 2009-06-07 18:26:16 UTC (rev 1453) @@ -0,0 +1,28 @@ +#!/usr/bin/env python + +from commons.setup import run_setup + +pkg_info_text = """ +Metadata-Version: 1.1 +Name: mailing-list-filter +Version: 0.2 +Author: Yang Zhang +Author-email: yaaang NOSPAM at REMOVECAPS gmail +Home-page: http://assorted.sourceforge.net/mailing-list-filter/ +Download-url: http://pypi.python.org/pypi/mailing-list-filter/ +Summary: Mailing List Filter +License: Python Software Foundation License +Description: Filter mailing list email for relevant threads only. +Keywords: mailing,list,email,filter,IMAP,Gmail +Platform: any +Provides: commons +Classifier: Development Status :: 4 - Beta +Classifier: Environment :: No Input/Output (Daemon) +Classifier: Intended Audience :: End Users/Desktop +Classifier: License :: OSI Approved :: Python Software Foundation License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Topic :: Communications :: Email +""" + +run_setup(pkg_info_text, scripts = ['src/mlf.py']) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |