An rss2email fork that sucks less
Rss2email is a great tool. I like getting all my news messages in my mailbox and using smtp to make the "news delivery" process more robust makes sense.
However, there are some things I didn't like about it so I made a github repo where I maintain an alternative version which (imho) contains several useful improvements, both for end users and for developers/downstreams.
Also, this was a nice opportunity for me to improve my python skills :)
Here is how it compares:
(most of the changes are only in the xdg branch, which is the one I use and test)
criterion | official version | my fork |
---|---|---|
code hosting/release process | "release" = tarball containing updated code corresponding to various fixes, and snapshots of other projects (dependencies). no version control, not even separate patches. no bug tracker. | git. upstream tracking branch, master branch (basic "good stuff" patches), XDG topic branch (my favorite). Does not include code from other projects, rather list dependencies. Github issue tracker |
code style | dirty (extraneous whitespace, ^M characters, incorrect permissions, loads of bogus [whitespace] changes, ..). The python code itself seems nice though | clean |
file storage & config | all in ~/.rss2email, list of feeds, email address and feeds state go into pickle file. commands like 'r2e add', 'r2e delete', 'r2e list' to manage feeds. feed ids change when feeds get deleted. 'r2e email' to manage email adress. | adherence to xdg basedir spec. list of feeds goes into plaintext file, so does email address. state in separate pickle file. removed all the [now pointless] commands. |
Temporary disabling of feeds | no (if you remove a feed, you loose the state info) | yes. comment it out or remove it. state info won't be lost |
installation/runtime | no Makefile. no reliance on $PATH, locking code in python. Distros are applying patches and/or using custom wrapper scripts | smarter wrapperscript that prevents multiple runs, so removed locking code from python. Has Makefile. Easy to package |
logging/debugging | useful info messages hidden by default, "verbose mode" and error messages using print calls all over the place | useful messages on stdout. additional (info/warn/error/..) logging and debuglogging use python module (xdg compliant) |
web ui | yes | no (I don't need it) |
windows support | yes | no (unless somebody ports xdg to windows and updates the wrapper script) |
Other then that, there are also some smaller fixes in various places.
I'm using my version "in production" and it works great for me so far.
I have contacted the author and told her about my changes, but no response yet.
For now, you can treat this as an alternative version that stands on it's own. I made an Arch rss2email-xdg-git package in the AUR.
Oh, and I'm liking python :) Pretty nice and powerful language.
@name