Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close

pyAggr3g470r

Presentation

pyAggr3g470r is a news aggregator with a web interface based on Flask.

Features

  • can be deployed on Heroku or on a traditional server;
  • HTTP proxy support;
  • feeds batch import with OPML files;
  • export all your feeds to OPML;
  • e-mail notification;
  • export articles to HTML;
  • favorite articles;
  • share articles with Google +, Pinboard and reddit.

Usage

Deployment

This application can be deployed on Heroku or on a traditional server.

After installation, you will be able to connect with the email root@pyAggr3g470r.localhost and the password root.

Deploying the application on Heroku

$ git clone https://bitbucket.org/cedricbonhomme/pyaggr3g470r.git
$ cd pyaggr3g470r
$ heroku create
$ heroku addons:add heroku-postgresql:dev
$ heroku config:set HEROKU=1
$ git push heroku master
$ heroku run init
$ heroku ps:scale web=1

An instance of pyAggr3g470r is running here .

Deploying the application on a traditional server

$ git clone https://bitbucket.org/cedricbonhomme/pyaggr3g470r.git
$ cd pyaggr3g470r
$ sudo apt-get install postgresql postgresql-server-dev-9.1 postgresql-client
$ sudo pip install --upgrade -r requirements.txt
$ sudo -u postgres createuser
Enter name of role to add: username
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n
$ createdb pyAggr3g470r
$ sudo -u postgres psql
postgres=# ALTER USER username WITH ENCRYPTED PASSWORD 'password';
postgres=# GRANT ALL PRIVILEGES ON DATABASE pyAggr3g470r TO username;
postgres=# \q
$ cp conf/conf.cfg-sample conf/conf.cfg
$ python db_create.py
$ python runserver.py
 * Running on http://0.0.0.0:5000/
 * Restarting with reloader

Configuration (database url, email, proxy, user agent, etc.) is done via the file conf/conf.cfg. Check these configuration before executing db_create.py. If you want to use pyAggr3g470r with Tor/Privoxy, you just have to set the value of http_proxy (most of the time: http_proxy = 127.0.0.1:8118*). Else leave the value blank.

Automatic updates

You can fetch new articles with cron and the script fetch.py. For example if you want to check for updates every 30 minutes, add this line to your cron rules (crontab -e):

*/30 * * * * cd ~/.pyaggr3g470r/ ; python fetch.py firstname.lastname@mail.com

You must give the email address you use to login to pyAggr3g470r.

Donation

If you wish and if you like pyAggr3g470r, you can donate via bitcoin 1GVmhR9fbBeEh7rP1qNq76jWArDdDQ3otZ. Thank you!

Contact

My home page.

Recent activity

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.