{ "info": { "author": "Wolfgang Schnerring ", "author_email": "wosc@wosc.de", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Zope Public License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython" ], "description": "=======\nrsspull\n=======\n\n.. image:: https://travis-ci.org/wosc/rsspull.png\n :target: https://travis-ci.org/wosc/rsspull\n\nrsspull downloads and parses RSS and Atom feeds, converts posts into email\nmessages, and stores them in Maildirs. This way you can read your feeds using\nan email client (I use `claws`_, so I can access mailing lists, newsgroups and\nfeeds all in one application). The heavy lifting is performed by the awesome\n`feedparser`_ library.\n\n.. _`claws`: http://claws-mail.org/\n.. _`feedparser`: https://pypi.python.org/pypi/feedparser\n\n\n\nInstallation\n============\n\nrsspull requires at least Python 2.6 (and won't work under Python 3 yet).\nYou can install it from PyPI like this::\n\n $ pip install ws.rsspull\n\nYou need to create a configuration file in ``~/.rsspull/config``, like::\n\n [global]\n target = ~/Maildir/rss\n target_type = maildir\n logfile = ~/.rsspull/log\n workers = 1\n\nFor low-volume applications you can also send the emails via SMTP instead::\n\n [global]\n target = test@example.com\n target_type = smtp://my-smtp-server.example.com\n\nList the feeds you want to pull in an OPML file at ``~/.rsspull/feeds.opml``::\n\n \n \n \n feeds.opml\n rsspull\n rsspull@localhost\n \n \n \n \n \n \n \n \n \n \n \n\nNotes about the format:\n\n* You can group your feeds (using nested ````), this does not matter\n to rsspull.\n* The ``text`` attribute is used as the folder name, relative to the\n ``maildir`` setting in ``~/.rsspull/config``. If you run rsspull on an IMAP\n server, you can create folder hierarchies by using something like\n ``text=\".rss.tech.ongoing\"`` (check you IMAP server documentation how it\n represents folder hierarchies. The example with dots works for Courier,\n others might use actual subfolders, and so on).\n* Basic authentication is supported with the ``auth`` attribute.\n* You can use ``file://`` URLs.\n\nThen simply run::\n\n $ rsspull\n\nto download the feeds.\n\nYou can pass ``rsspull --confdir /path/to/config`` to use a different location\nthan ``~/.rsspull``.\n\n\nFeatures\n========\n\n* Uses ``If-Modified-Since`` HTTP headers to avoid downloading a feed that has\n not changed.\n* Addds a ``Content-Location`` header to each message that contains the URL of\n that post. I bound the following script to [return] in claws to open the\n current entry in a webbrowser::\n\n #!/bin/bash\n URL=`sed -ne '/^Content-Location/s/.*: //p' $1 | head -n 1`\n if [ -n \"$URL\" ]; then\n mozilla $URL &> /dev/null\n fi\n\n* Entries are converted to multipart messages, one with the original HTML and\n one converted into markdown-like plaintext (via `html2text`_), so most of the\n time opening in a browser isn't even necessary since you can read the post\n right in the email client.\n* Can use several worker threads to download and parse feeds to increase\n performance, since quite some time is spent waiting for downloads to complete\n (the ``workers`` setting in ``~/.rsspull/config``).\n* Has been in daily usage since 2007, so it definitely Works For Me(tm).\n\n\n.. _`html2text`: https://pypi.python.org/pypi/html2text\n\n\nCHANGES\n=======\n\n2.3.0 (2018-04-03)\n------------------\n\n- Make SMTP server configurable.\n\n\n2.2.1 (2018-03-30)\n------------------\n\n- Fix Python-3 unicode issues.\n\n\n2.2 (2018-03-24)\n----------------\n\n- Support sending messages via SMTP as an alternative to writing into Maildir.\n\n- Add commandline option to set config directory.\n\n\n2.1 (2018-03-06)\n----------------\n\n- Switch from urllib2 to requests.\n\n- Make Python-3 compatible.\n\n\n2.0 (2014-02-22)\n----------------\n\n- Switch from spawning curl to using urllib2.\n\n- Package as egg.\n\n\n1.2 (2013-10-03)\n----------------\n\n- Use stdlib xml parser instead of python-xml.\n\n\n1.1 (2009-05-23)\n----------------\n\n- Write messages directly to Maildir instead of using procmail.\n\n- Send messages as multipart, text and html.\n\n\n1.0 (2007-03-31)\n----------------\n\n- First release, inspired by http://newspipe.sourceforge.net/.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wosc/rsspull/", "keywords": "", "license": "ZPL 2.1", "maintainer": "", "maintainer_email": "", "name": "ws.rsspull", "package_url": "https://pypi.org/project/ws.rsspull/", "platform": "", "project_url": "https://pypi.org/project/ws.rsspull/", "project_urls": { "Homepage": "https://github.com/wosc/rsspull/" }, "release_url": "https://pypi.org/project/ws.rsspull/2.3.0/", "requires_dist": null, "requires_python": "", "summary": "Downloads RSS/Atom feeds and converts them to Maildir messages.", "version": "2.3.0" }, "last_serial": 3730656, "releases": { "2.0": [ { "comment_text": "", "digests": { "md5": "ae847d04f99834ce1fae13f1d67fe835", "sha256": "bc2d296fe4a98effeb8c626d14d301d1496dc011fd22bc8b29da4c617955e35f" }, "downloads": -1, "filename": "ws.rsspull-2.0.zip", "has_sig": false, "md5_digest": "ae847d04f99834ce1fae13f1d67fe835", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55048, "upload_time": "2014-02-22T08:37:01", "url": "https://files.pythonhosted.org/packages/fd/1b/3a03a90c8196e19a9a1fe0d1abbf2da27b0a92fb2972d6329c715e97feef/ws.rsspull-2.0.zip" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "58f19d51efec1ec8fd642b8f943e89d3", "sha256": "e7bd10ca8ee1e84035092cfb5423463095ce586a718c5af67f57a263856cdf75" }, "downloads": -1, "filename": "ws.rsspull-2.1.tar.gz", "has_sig": false, "md5_digest": "58f19d51efec1ec8fd642b8f943e89d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47672, "upload_time": "2018-03-06T16:40:48", "url": "https://files.pythonhosted.org/packages/fa/f3/e2c031c7c34406157fe005d5e86562fcac674826db081d6aaca1340b59bc/ws.rsspull-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "60515e879b60bc2334dc73353d2ee336", "sha256": "ed6ae1e4ec24207d30df020d1b5b142a5f28651e3e012e195305d955e91e1fb0" }, "downloads": -1, "filename": "ws.rsspull-2.2.tar.gz", "has_sig": false, "md5_digest": "60515e879b60bc2334dc73353d2ee336", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48283, "upload_time": "2018-03-24T18:18:22", "url": "https://files.pythonhosted.org/packages/89/50/797ea4b480b823765542feaa56ab800c16d7ab6f83a0fd4efb5f87f6650f/ws.rsspull-2.2.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "0ef3a38ba3707473d02e40ddbcc83f99", "sha256": "7d7f0db485d2cdf884fd24b24fc4bbdaddf646c491ab2c80f27f15f77a08c506" }, "downloads": -1, "filename": "ws.rsspull-2.2.1.tar.gz", "has_sig": false, "md5_digest": "0ef3a38ba3707473d02e40ddbcc83f99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48350, "upload_time": "2018-03-30T05:16:39", "url": "https://files.pythonhosted.org/packages/2a/3a/38e067c1a1aa1ade3312dc805bbd708e2774e0333df96c285b8b4f9945c5/ws.rsspull-2.2.1.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "8fd1847299deb6d0048ebe59d332603d", "sha256": "7cf8b6c4986138a5a0e7d81107aa37865ba060bac9a4bec5845f835e5bcf8ccc" }, "downloads": -1, "filename": "ws.rsspull-2.3.0.tar.gz", "has_sig": false, "md5_digest": "8fd1847299deb6d0048ebe59d332603d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48586, "upload_time": "2018-04-03T18:06:33", "url": "https://files.pythonhosted.org/packages/7f/a7/024146e34175a9a544d87ba329ce2f41f27d7a06f6857a3791dc7bb4480a/ws.rsspull-2.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8fd1847299deb6d0048ebe59d332603d", "sha256": "7cf8b6c4986138a5a0e7d81107aa37865ba060bac9a4bec5845f835e5bcf8ccc" }, "downloads": -1, "filename": "ws.rsspull-2.3.0.tar.gz", "has_sig": false, "md5_digest": "8fd1847299deb6d0048ebe59d332603d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48586, "upload_time": "2018-04-03T18:06:33", "url": "https://files.pythonhosted.org/packages/7f/a7/024146e34175a9a544d87ba329ce2f41f27d7a06f6857a3791dc7bb4480a/ws.rsspull-2.3.0.tar.gz" } ] }