<commit_before># puckfetcher
[![BSD3 License](http://img.shields.io/badge/license-BSD3-brightgreen.svg)](https://tldrlegal.com/license/bsd-3-clause-license-%28revised%29)
[![Build Status](https://travis-ci.org/andrewmichaud/puckfetcher.svg?branch=master)](https://travis-ci.org/andrewmichaud/puckfetcher)
[![Coverage Status](https://coveralls.io/repos/andrewmichaud/puckfetcher/badge.svg?branch=master&service=github)](https://coveralls.io/github/andrewmichaud/puckfetcher?branch=master)
[![Issue Count](https://codeclimate.com/github/andrewmichaud/puckfetcher/badges/issue_count.svg)](https://codeclimate.com/github/andrewmichaud/puckfetcher)

a podcatcher that will finally work (for me)

Hello!

This should support Python 2.7, 3.3, 3.4, and 3.5. 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/<name>/Preferences/puckfetcher/config.yaml
Linux: /home/<name>/.config/puckfetcher/config.yaml

Build + Install:
```
python setup.py install
```

Test:
```
python setup.py test
```

This should be on PyPI and maybe other places soon.

## Complete

- Retrieve podcast feed.
- Get podcast file URL from feed.
- Download podcast file.
- Download a set number of podcasts from a feed's backlog.
- Detect number of feeds a podcast is behind based on last downloaded.
- 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.

## Before release
- ~100% test coverage
- lower code climate issues
- Git signing?
- PyPI release

## Future releases
- Add MP3 tag support to clean up tags based on feed information if it's messy.
- Clean up at least filenames based on feed title.
- Use etags/last-modified header to skip downloading feeds if we already have the latest feed.
- Attempt to support Jython/PyPy/IronPython/3.4/3.3
- Investigate Python static typing with https://docs.python.org/dev/library/typing.html#module-typing and mypy.

<commit_msg>Fix issues with readme formatting<commit_after># puckfetcher
[![BSD3 License](http://img.shields.io/badge/license-BSD3-brightgreen.svg)](https://tldrlegal.com/license/bsd-3-clause-license-%28revised%29)
[![Build Status](https://travis-ci.org/andrewmichaud/puckfetcher.svg?branch=master)](https://travis-ci.org/andrewmichaud/puckfetcher)
[![Coverage Status](https://coveralls.io/repos/andrewmichaud/puckfetcher/badge.svg?branch=master&service=github)](https://coveralls.io/github/andrewmichaud/puckfetcher?branch=master)
[![Issue Count](https://codeclimate.com/github/andrewmichaud/puckfetcher/badges/issue_count.svg)](https://codeclimate.com/github/andrewmichaud/puckfetcher)

a podcatcher that will finally work (for me)

Hello!

This should support Python 2.7, 3.3, 3.4, and 3.5. 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]/Preferences/puckfetcher/config.yaml
* Linux: /home/[USERNAME]/.config/puckfetcher/config.yaml

Build + Install:
```
python setup.py install
```

Test:
```
python setup.py test
```

This should be on PyPI and maybe other places soon.

## Complete

- Retrieve podcast feed.
- Get podcast file URL from feed.
- Download podcast file.
- Download a set number of podcasts from a feed's backlog.
- Detect number of feeds a podcast is behind based on last downloaded.
- 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.

## Before release
- ~100% test coverage
- lower code climate issues
- Git signing?
- PyPI release

## Future releases
- Add MP3 tag support to clean up tags based on feed information if it's messy.
- Clean up at least filenames based on feed title.
- Use etags/last-modified header to skip downloading feeds if we already have the latest feed.
- Attempt to support Jython/PyPy/IronPython/3.4/3.3
- Investigate Python static typing with https://docs.python.org/dev/library/typing.html#module-typing and mypy.


{'fraction_non_alphanumeric': 0.1036311709506324, 'fraction_numerical': 0.009383924928600572, 'mean_word_length': 4.527621195039459, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 18, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 10, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7260474', 'n_tokens_mistral': 1570, 'n_tokens_neox': 1488, 'n_words': 520}