blob: 23dd74b44e206ac53a775caaba75fe4d7795b340 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
pyAggr3g470r
============
#### A simple Python news aggregator.
Presentation
------------
[pyAggr3g470r](https://bitbucket.org/cedricbonhomme/pyaggr3g470r/) is a news aggregator with a web interface
based on [Flask](http://flask.pocoo.org/).
Features
--------
* the database is managed with [SQLAlchemy](http://www.sqlalchemy.org/);
* 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.
Deployment
----------
This application can be deployed both on Heroku and on a traditional server.
Deploying the application on Heroku
'''''''''''''''''''''''''''''''''''
.. code:: bash
$ 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
Deploying the application on a traditional server
'''''''''''''''''''''''''''''''''''''''''''''''''
Configuration is done via the file *conf/conf.cfg*.
.. code:: bash
$ git clone https://bitbucket.org/cedricbonhomme/pyaggr3g470r.git
$ cd pyaggr3g470r
$ cp conf/conf.cfg-sample conf/conf.cfg
$ 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
$ export DATABASE_URL="postgres://username:password@127.0.0.1:5432/pyAggr3g470r"
$ python db_create.py
$ python runserver.py
* Running on http://0.0.0.0:5000/
* Restarting with reloader
Launch the script ``install.sh`` in order to install automatically all requirements.
In order to prevent all dependencies problems and to keep your system stable, the libraries will be
installed in a Python virtual environment (with [virtualenv](http://www.virtualenv.org)).
The installation will use the configuration file for the database setup.
Then point your browser to the address [http://127.0.0.1:5000/](http://127.0.0.1:5000/) and login with the email address
*firstname.lastname@mail.com* and the password *secret*. You can update your profile at the
address [http://127.0.0.1:5000/profile/](http://127.0.0.1:5000/profile/).
As already said, you can configure pyAggr3g470r (database name, proxy, user agent, etc.) in the file *conf/conf.cfg*.
For example 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.
However, the default configuration should be good, so you really just have to run the script *install.sh*.
Automatic updates
-----------------
You can fetch new articles with [cron](https://en.wikipedia.org/wiki/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](https://blockexplorer.com/address/1GVmhR9fbBeEh7rP1qNq76jWArDdDQ3otZ).
Thank you!
License
-------
[pyAggr3g470r](https://bitbucket.org/cedricbonhomme/pyaggr3g470r/) is under [GPLv3](http://www.gnu.org/licenses/gpl-3.0.txt) license.
Contact
-------
[My home page](http://cedricbonhomme.org/).
|