clintecker / pingfm-smasher
- Source
- Commits
- Network (0)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Sat Feb 21 22:44:32 -0800 2009 | |
| |
CHANGELOG | Sat Feb 21 22:40:09 -0800 2009 | |
| |
LICENSE | Sat Feb 21 22:40:09 -0800 2009 | |
| |
README.mdown | Sat Feb 21 22:40:09 -0800 2009 | |
| |
package-release.sh | Tue Feb 10 09:48:40 -0800 2009 | |
| |
pingfmsmash/ | Thu Jul 30 13:15:25 -0700 2009 | |
| |
setup.py | Sat Feb 21 18:33:24 -0800 2009 |
Ping.FM Smasher
Ping.FM Smasher is a pluggable Django application that manages RSS feeds and pipes them into a service called Ping.FM using email. This application has no views or templates. It consists completely of data models and a management command to perform the recurring tasks.
The application was written as a sort of customized, hosted version of TwitterFeed which I could customize as much as I liked. Here's how it works:
- The application will check an RSS feed every few minutes—as often as you need—and determine if there are new items.
- If there are new items, the application pipes them to a Ping.FM account over email—no developer keys or special setup needed.
Its really as simple as that, there is only one option right now—called polling rate which determines the rate at which your feeds are pulled.
What is Ping.FM Smasher for?
Ping.FM smasher was developed for my own personal use and we ultimately began using it at Ars Technica. It's useful for piping your RSS news stream into services like Twitter, Identi.ca, Plurk, et cetera. Ars Technica has a vast audience of readers who enjoy reading their news on Twitter; Ping.FM allows us to pipe updates to as many twitter-like networks as they want without having to write customized code.
Most people only perform a 1-to-1 mapping of RSS feed to Ping.FM, but there's nothing stopping someone from "smashing" multiple RSS feeds into a single Ping.FM account (if you wanted to pipe your Google Reader, Flickr, and Blog feeds into your Ping.FM account).
What's required to use Ping.FM smasher?
- pytz
- feedparser
- A Ping.FM account
- Find the Email account associated with your Ping.FM account:


- An email server, Gmail works fine.
How do I set up Ping.FM smasher?
- Clone this git repository somewhere
- Type
sudo python setup.py install - Add
pingfmsmashto your project's list ofINSTALLED_APPSinsettings.py - Add the Ping.FM Smasher models to your database; type
python manage.py syncdbin your project root - Go to your project's admin interface, click on "PingFM Accounts"
- Click "Add PingFM Account"
- Give the account a name, put in the aforementioned email address for that account
- Optionally input the earlier post publication date you want to send into twitter (useful for not spamming your account with old entries on the first run).
- Add a new RSS feed by clicking the green checkbox
- In the pop-up window, input a name for the feed
- Input the URL for the RSS feed
- Change the polling rate to whatever you like (default is 15 minutes).
- Click Save on the feed
- Click Save on the Ping.FM
- Repeat steps 6 thru 14 for as many accounts as you'd like to add
How to I setup a cron task to regularly check my feeds
Add a line to your crontab that looks like this:
*/1 * * * * cd /var/my-django-projects-folder/cool-django-project; /usr/bin/python manage.py pingsmash_stuff --quiet >/dev/null 2>&1
This runs the check script every minute. This doesn't mean that every RSS feed will be checked every minute, but it means that the lowest polling rate you can use is 1 minute. If you leave the polling rate of your feeds at 15 minutes, 14 out of every 15 minutes, this script will run and no do any work, which is fine.
License
Copyright © 2009 Clint Ecker.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
