-
Notifications
You must be signed in to change notification settings - Fork 0
A hosted feed reader written in Python
License
lerouxb/seymour
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Seymour is a minimal feed aggregator that I wrote years ago. It is unmaintained, but clearly I'm a hoarder, so here it is.. It supports multiple accounts either with the usual email/password combo or via OpenID. The interface is a simple two-column layout where the feeds that contain unread items appear listed on the left. Clicking on a feed loads the unread items from that feed in the main column on the right. You can only view one feed at a time and you can only mark the entire feed as read. Only the latest 20 items get displayed or remembered. Updated items don't get bumped back to unread if you already marked as read (but they do get updated, so people that haven't marked the items as read yet will see the updated contents). These are all intended features. Authenticated feeds are not supported - I do not want to store your emails in my database. Seymour is optimised for reading and there's even a mobile variant that gets triggered automatically for mobile user agents OR you can go to the app's domain with 'm.' prepended to it. (Assuming it is mapped) Images get loaded in so that their dimensions can be found and CSS classes then get added to help with sizing them to fit and for text to flow properly around images. Certain bits of dodgy html and attributes get stripped, a tags automatically get class="external" and target="_blank" added to them and so on. The main column's font is big and readable and it stretches to fill the screen. Content often looks and reads better in Seymour than it does on the original sites. REQUIREMENTS * Python version 2.5 or above, but not 3. (also tested on Python 2.6) * Django 1.0 or above (also tested with Django 1.1) Ubuntu package: python-django Homepage: http://www.djangoproject.com/ * MySQL Server 5.0 or above (Also tested with 5.1, might even work with 4.x) Ubuntu package: mysql-server Homepage: http://www.mysql.com/ (other databases will probably require some SQL query tweaks) * MySQLdb Ubuntu package: python-mysqldb Homepage: http://mysql-python.sourceforge.net/ * PIL Ubuntu package: python-imaging Homepage: http://www.pythonware.com/products/pil/ * feedparser Ubuntu package: python-feedparser Homepage: python-feedparser * feedfinder Not included in Ubuntu at the time of writing, see thirdparty directory. Homepage: http://www.aaronsw.com/2002/feedfinder/ * PyCAPTCHA Not included in Ubuntu at the time of writing, see thirdparty directory. Homepage: http://pypi.python.org/pypi/PyCAPTCHA/ * Python OpenID Ubuntu package: python-openid Homepage: http://openidenabled.com/python-openid/ * preferably a webserver (tested on lighttpd+FastCGI and Apache+mod_wsgi) INSTALLATION Place seymour somewhere and make sure the seymour package inside it is in your Python path. Copy the example_deploy directory somewhere, rename settings.py.default to settings.py and edit all the usernames, names, paths, email addresses, urls, etc. inside these files to reflect your installation. Make sure this directory is also in your python path (it is a Python package in itself) Note that you can override templates (typically the home.html one) by placing them in the installation's own templates dir. You can override the CSS files by changing the META_ROOT, but it is better to just map /static/ somewhere in your webserver setup so that your webserver serves up those files. You can add extra URLs (and controllers and things) by changing ROOT_URLCONF. And so on and so forth. There's an example wsgi file in the wsgi directory in case you want to use apache and mod_wsgi to host your app. On that note there's also an example apache site config file (for /etc/apache2/sites-available). In MySQL, create a database for your app in MySQL with: create database exampledb default character set utf8; grant all privileges on exampledb.* to exampleuser identified by 'examplepassword'; cd to seymour and: export DJANGO_SETTINGS_MODULE=example.settings ./manage.py syncdb (this will set up the database tables that you need) You should setup a cron job to regularly call update_feeds.sh. (wean.me runs it every 3 hours) DEV SERVER To run the dev server, simply cd to seymour and: export DJANGO_SETTINGS_MODULE=example.settings ./manage.py runserver This will run a dev server listening on localhost:8000 (Just make sure that you have settings.SEYMOUR_DOMAIN set accordingly, because the middleware will try and redirect you there if you're on a different host)
About
A hosted feed reader written in Python
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published