Metadata-Version: 1.1
Name: rssfilter
Version: 0.0.1
Summary: Fetch, filter, and re-render RSS feeds for more useful consumption.
Home-page: http://github.com/cathalgarvey/rssfilter
Author: Cathal Garvey
Author-email: cathalgarvey@cathalgarvey.me
License: AGPL
Description: # RSSFilter - Fetch, Parse, Filter and Re-Feed RSS
        by Cathal Garvey, Copyright 2015, licensed under the [GNU Affero GPL](https://gnu.org/licenses/agpl.txt).
        
        ## What it does
        RSSFilter lets you take an RSS feed, apply regex queries (or custom-defined functions)
        to the feed, and then present the result as a new RSS feed ready for consumption by a
        feed reader. It has an entry point for terminal usage, and is well suited (indeed,
        developed for) for integration in a simple web-app relay.
        
        ## Why I wrote it
        I'm mulling the problem of mass-data-funnelling a lot lately and this is just one experiment
        as part of a much broader thing. Specifically this was inspired by the annoying discovery
        of a news website that provided an RSS feed for *all* news but not for topic-specific
        news. Thankfully, the topics had appropriate URL paths, so the science news could
        be filtered by selecting articles containing "/science/" in them. So was born RSSFilter.
        
        ## Usage
        Install: `sudo pip install rssfilter` (or sudo python3 setup.py install)
        
        Installation gives you the rssfilter module, and also the rssfilter terminal
        tool.
        
        Included in the git repo is a trivial example usage for a Flask webapp, but this
        is not installed with rssfilter when pip-installed or similar.
        
        As currently written the entry-points accept up to two filters which may contain
        arbitrary regex expressions. As there are only two built-in filter-classes this
        two-filter limit isn't really a limit at all. There is an option whether to combine
        the given two filters by boolean AND or OR.
        
        In module usage you can define your own filters; they should accept a feed in
        a format as returned by feedparser (but with all elements converted to native
        types!) and return one in the same format.
        
        ## Example Terminal Usage:
        
        Fetching recent articles on the Marriage Equality referendum in Ireland (May 2015) from
        the Irish Times RSS feed:
        
            rssfilter https://www.irishtimes.com/cmlink/the-irish-times-news-1.1319192 -t '([Gg]ay|[Hh]omosexual|[Mm]arriage|[Rr]eferend)'
        
        (Use 'rssfilter --help' for more information)
            
        Importing and using the module to achieve the same result:
        
            import rssfilter
            it_feed = "https://www.irishtimes.com/cmlink/the-irish-times-news-1.1319192"
            f = rssfilter.filter_feed(it_feed, rssfilter.in_title_filter('([Gg]ay|[Hh]omosexual|[Mm]arriage|[Rr]eferend)'))
            print(f)
        
        To learn more, read the source code docstrings or use iPython to explore with the "?"
        appellation.
        
Keywords: rss,atom,feed,subscription,filter,regex,web,news
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing
Classifier: Topic :: Utilities
Requires: feedgenerator
Requires: feedparser
Requires: bs4
Requires: lxml
