Skip to main content

A simple command-line podcatcher.

Project description

puckfetcher
===========

| |BSD3 License|
| |Build Status|
| |Coverage Status|
| |Issue Count|
.. image:: https://badge.fury.io/py/puckfetcher.svg
:target: https://badge.fury.io/py/puckfetcher
.. image:: https://badge.waffle.io/andrewmichaud/puckfetcher.png?label=ready&title=Ready
:target: https://waffle.io/andrewmichaud/puckfetcher
:alt: 'Stories in Ready'

A simple command-line podcatcher.

Supports Python 3.4+. Feel free to report any issues here, and I’ll investigate when/if I can.

| You’ll need setuptools (https://pypi.python.org/pypi/setuptools) to
run this in its current state. Go get it, clone this repo, and you
| can run the below commands. Should work on OSX and Linux, from the
command line. You’ll want a default config file, name it config.yaml
| and look at example\_config.yaml to see how it should be structured.

Directory for config file:

- OSX: /Users/[USERNAME]/Application Support/puckfetcher/config.yaml
- Linux: /home/[USERNAME]/.config/puckfetcher/config.yaml

Build + Install:

::

python setup.py install

Test:

::

python setup.py test

Complete
--------
- Retrieve podcast feed.
- Get podcast file URL from feed.
- Download podcast file.
- Download a set number of podcasts from a feed’s backlog.
- Load settings from a file to determine which podcasts to download.
- Save settings to a cache to restore on application load.
- Intelligently merge user settings and application cache.
- Add script entry point to repeatedly update subscriptions.
- Use etags/last-modified header to skip downloading feeds if we
already have the latest feed, to not waste bandwidth.
- PyPI release!
- Text-based progress for podcast downloads (via Clint).
- Clean up subscriptions code and get Pylint to like it.
- Provide summary of downloaded podcasts per-session.
- Provide summary of recently-downloaded podcast episodes.


Future releases
---------------
- Text-based progress for other time-consuming actions.
- Add MP3 tag support to clean up tags based on feed information if
it’s messy.
- Attempt to support Jython/PyPy/IronPython/3.4/3.3
- Allow parallel downloading.

.. |BSD3 License| image:: http://img.shields.io/badge/license-BSD3-brightgreen.svg
:target: https://tldrlegal.com/license/bsd-3-clause-license-%28revised%29
.. |Build Status| image:: https://travis-ci.org/andrewmichaud/puckfetcher.svg?branch=master
:target: https://travis-ci.org/andrewmichaud/puckfetcher
.. |Coverage Status| image:: https://coveralls.io/repos/andrewmichaud/puckfetcher/badge.svg?branch=master&service=github
:target: https://coveralls.io/github/andrewmichaud/puckfetcher?branch=master
.. |Issue Count| image:: https://codeclimate.com/github/andrewmichaud/puckfetcher/badges/issue_count.svg
:target: https://codeclimate.com/github/andrewmichaud/puckfetcher

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

puckfetcher-1.0.1.tar.gz (21.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page