Skip to content

Commit ea347eb

Browse files
committed
Initial revision from v2.70 and feedparser 5.0
0 parents  commit ea347eb

File tree

9 files changed

+5480
-0
lines changed

9 files changed

+5480
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
config.py
2+
temp/*
3+
Old/*

CHANGELOG

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
v2.70 (2010-12-21)
2+
* Improved handling of given feed email addresses to prevent mail servers rejecting poorly formed Froms
3+
* Added X-RSS-TAGS header that lists any tags provided by an entry, which will be helpful in filtering incoming messages
4+
5+
v2.69 (2010-11-12)
6+
* Added support for connecting to SMTP server via SSL, see SMTP_SSL option
7+
* Improved backwards compatibility by fixing issue with listing feeds when run with older Python versions
8+
* Added selective feed email overrides through OVERRIDE_EMAIL and DEFAULT_EMAIL options
9+
* Added NO_FRIENDLY_NAME to from from address only without the friendly name
10+
* Added X-RSS-URL header in each message with the link to the original item
11+
12+
v2.68 (2010-10-01)
13+
* Added ability to pause/resume checking of individual feeds through pause and unpause commands
14+
* Added ability to import and export OPML feed lists through importopml and exportopml commands
15+
16+
v2.67 (2010-09-21)
17+
* Fixed entries that include an id which is blank (i.e., an empty string) were being resent
18+
* Fixed some entries not being sent by email because they had bad From headers
19+
* Fixed From headers with HTML entities encoded twice
20+
* Compatibility changes to support most recent development versions of feedparser
21+
* Compatibility changes to support Google Reader feeds
22+
23+
v2.66 (2009-12-21)
24+
25+
* Complete packaging of all necessary source files (rss2email, html2text, feedparser, r2e, etc.) into one bundle
26+
o Included a more complete config.py with all options
27+
o Default to HTML mail and CSS results
28+
* Added 'reset' command to erase history of already seen entries
29+
* Changed project email to '[email protected]' and project homepage to 'http://www.allthingsrss.com/rss2email/'
30+
* Made exception and error output text more useful
31+
* Added X-RSS-Feed and X-RSS-ID headers to each email for easier filtering
32+
* Improved enclosure handling
33+
* Fixed MacOS compatibility issues
34+
35+
v2.65 (2009-01-05)
36+
37+
* Fixed warnings caused by Python v2.6 (using hashlib, removing mimify, etc.)
38+
* Deprecated QP_REQUIRED option as this is more than likely no longer needed and part of what triggered Python warnings
39+
* Fixed unicode errors in certain post headers
40+
* Attempted to incorporate Debian/Ubuntu patches into the mainstream release
41+
* Support img type enclosures
42+
* No file locking for SunOS
43+
44+
v2.64 (2008-10-21)
45+
46+
* Bug-fix version
47+
o Gracefully handle missing charsets
48+
o Friendlier and more useful message if sendmail isn't installed
49+
o SunOS locking fix
50+
51+
v2.63 (2008-06-13)
52+
53+
* Bug-fix version and license change:
54+
o Licensed under GPL 2 & 3 now
55+
o Display feed number in warning and error message lines
56+
o Fix for unicode handling problem with certain entry titles
57+
58+
v2.62 (2008-01-14)
59+
60+
* Bug-fix version:
61+
o Simplified SunOS fix
62+
o Local feeds (/home/user/file.xml) should work
63+
64+
v2.61 (2007-12-07)
65+
66+
* Bug-fix version:
67+
o Now really compatible with SunOS
68+
o Don't wrap long subject headers
69+
o New parameter CHARSET_LIST to override or supplement the order in which charsets are tried against an entry
70+
o Don't use blank content to generate id
71+
o Using GMail as mail server should work
72+
73+
v2.60 (2006-08-25)
74+
75+
* Small bug-fix version:
76+
o Now compatible with SunOS
77+
o Correctly handle international character sets in email From
78+
79+
v2.59 (2006-06-09)
80+
81+
* Finally added oft-requested support for enclosures. Any enclosures, such as a podcast MP3, will be listed under the entry URL
82+
* Made feed timeout compatible with Python versions 2.2 and higher, instead of v2.4 only
83+
* Added optional, configurable CSS styling to HTML mail. Set USE_CSS_STYLING=1 in your config.py to enable this. If you want to tweak the look, modify STYLE_SHEET.
84+
* Improved empty feed checking
85+
* Improved invalid feed messages
86+
* Unfortunately, rss2email is no longer compatible with Python v2.1. Two of the most serious lingering issues with rss2email were waiting forever for non-responsive feeds and its inablility to properly handle feeds with international characters. To properly fix these once and for all, rss2email now depends on functionality that was not available until Python v2.2. Hopefully this does not unduly inconvenience anyone that has not yet upgraded to a more current version of Python.
87+
88+
v2.58 (2006-05-11)
89+
90+
* Total rewrite of email code that should fix encoding problems
91+
* Added configurable timeout for nonresponsive feeds
92+
* Fixed incorrectly using text summary_detail instead of html content
93+
* Fixed bug with deleting feed 0 if no default email was set
94+
* Print name of feed that is being deleted
95+
96+
v2.57 (2006-04-07)
97+
98+
* Integrated Joey Hess's patches
99+
o First, a patch that makes delete more reliable, so it no longer allows you to remove the default email address ('feed' 0) and thereby hose your feed file, or 'remove' entries that don't exist without warning; and so it only says IDs have changed when they really have. Originally from http://bugs.debian.org/313101
100+
o Next a patch that avoids a backtrace if there's no email address defined, and outputs a less scary error message.
101+
o Next, a simple change to the usage; since the "email" subcommand always needs a parameter, don't mark it as optional.
102+
o And, avoid a backtrace if the email subcommand does get run w/o a parameter.
103+
o And also avoid backtraces if delete is run w/o a parameter. Also adds support for --help.
104+
o Simple change, make a comment match reality (/usr/sbin/sendmail)
105+
o This avoids another backtrace, this time if there's no feed file yet. [load()]
106+
o Add a handler for the AttributeError exception, which feedparser can throw. Beats crashing..
107+
o Next, four hunks that make it more robust if no default email address is set and feeds are added w/o an email address. This patch originally comes from http://bugs.debian.org/310485 which has some examples.
108+
o Finally, this works around a bug in mimify that causes it to add a newline to the subject header if it contains very long words. Details at http://bugs.debian.org/320185. Note that Tatsuya Kinoshita has a larger patch torard the end of that bug report that deals with some other problems in this area, Aaron has seen that patch before and said it "looks pretty reasonable".
109+
* add() catches error case on first feed add and no email address is set
110+
* Made "emailaddress" consistent param label throughout
111+
* Error message improvements
112+
* Deleted problematic "if title" line
113+
* Deleted space in front of SMTP_USER
114+
* Only logs into SMTP server once
115+
* Added exception handling around SMTP server connect and login attempt
116+
* Broke contributors across multiple lines
117+
118+
v2.56 (2006-04-04)
119+
120+
* SMTP AUTH support added
121+
* Windows support
122+
* Fixed bug with HTML in titles

config.py.example

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
### Options for configuring rss2email ###
2+
3+
# The email address messages are from by default:
4+
DEFAULT_FROM = "[email protected]"
5+
6+
# 1: Send text/html messages when possible.
7+
# 0: Convert HTML to plain text.
8+
HTML_MAIL = 1
9+
10+
# 1: Only use the DEFAULT_FROM address.
11+
# 0: Use the email address specified by the feed, when possible.
12+
FORCE_FROM = 0
13+
14+
# 1: Receive one email per post.
15+
# 0: Receive an email every time a post changes.
16+
TRUST_GUID = 1
17+
18+
# 1: Generate Date header based on item's date, when possible.
19+
# 0: Generate Date header based on time sent.
20+
DATE_HEADER = 1
21+
22+
# A tuple consisting of some combination of
23+
# ('issued', 'created', 'modified', 'expired')
24+
# expressing ordered list of preference in dates
25+
# to use for the Date header of the email.
26+
DATE_HEADER_ORDER = ('modified', 'issued', 'created')
27+
28+
# 1: Apply Q-P conversion (required for some MUAs).
29+
# 0: Send message in 8-bits.
30+
# http://cr.yp.to/smtp/8bitmime.html
31+
#DEPRECATED
32+
QP_REQUIRED = 0
33+
#DEPRECATED
34+
35+
# 1: Name feeds as they're being processed.
36+
# 0: Keep quiet.
37+
VERBOSE = 0
38+
39+
# 1: Use the publisher's email if you can't find the author's.
40+
# 0: Just use the DEFAULT_FROM email instead.
41+
USE_PUBLISHER_EMAIL = 0
42+
43+
# 1: Use SMTP_SERVER to send mail.
44+
# 0: Call /usr/sbin/sendmail to send mail.
45+
SMTP_SEND = 1
46+
47+
SMTP_SERVER = "smtp.yourisp.net:25"
48+
AUTHREQUIRED = 0 # if you need to use SMTP AUTH set to 1
49+
SMTP_USER = 'username' # for SMTP AUTH, set SMTP username here
50+
SMTP_PASS = 'password' # for SMTP AUTH, set SMTP password here
51+
52+
# Connect to the SMTP server using SSL
53+
54+
SMTP_SSL = 0
55+
56+
57+
58+
# Set this to add a bonus header to all emails (start with '\n').
59+
BONUS_HEADER = ''
60+
# Example: BONUS_HEADER = '\nApproved: [email protected]'
61+
62+
# Set this to override From addresses. Keys are feed URLs, values are new titles.
63+
OVERRIDE_FROM = {}
64+
65+
# Set this to override From email addresses. Keys are feed URLs, values are new emails.
66+
67+
OVERRIDE_EMAIL = {}
68+
69+
70+
71+
# Set this to default From email addresses. Keys are feed URLs, values are new email addresses.
72+
73+
DEFAULT_EMAIL = {}
74+
75+
76+
# Only use the email from address rather than friendly name plus email address
77+
78+
NO_FRIENDLY_NAME = 0
79+
80+
81+
82+
# Set this to override the timeout (in seconds) for feed server response
83+
FEED_TIMEOUT = 60
84+
85+
# Optional CSS styling
86+
USE_CSS_STYLING = 1
87+
STYLE_SHEET='h1 {font: 18pt Georgia, "Times New Roman";} body {font: 12pt Arial;} a:link {font: 12pt Arial; font-weight: bold; color: #0000cc} blockquote {font-family: monospace; } .header { background: #e0ecff; border-bottom: solid 4px #c3d9ff; padding: 5px; margin-top: 0px; color: red;} .header a { font-size: 20px; text-decoration: none; } .footer { background: #c3d9ff; border-top: solid 4px #c3d9ff; padding: 5px; margin-bottom: 0px; } #entry {border: solid 4px #c3d9ff; } #body { margin-left: 5px; margin-right: 5px; }'
88+
89+
# If you have an HTTP Proxy set this in the format 'http://your.proxy.here:8080/'
90+
PROXY=""
91+
92+
# To most correctly encode emails with international characters, we iterate through the list below and use the first character set that works
93+
# Eventually (and theoretically) ISO-8859-1 and UTF-8 are our catch-all failsafes
94+
CHARSET_LIST='US-ASCII', 'BIG5', 'ISO-2022-JP', 'ISO-8859-1', 'UTF-8'

0 commit comments

Comments
 (0)