Metadata-Version: 2.1
Name: beets-webm3u
Version: 0.1.1
Summary: Serve M3U playlists via HTTP
Home-page: https://github.com/mgoltzsche/beets-webm3u
Author: Max Goltzsche
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.6
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: beets

# beets-webm3u

A [beets](https://github.com/beetbox/beets) plugin to serve M3U playlists via HTTP.

## Features

* Allows to access M3U playlists (generated by the [smartplaylist plugin](https://beets.readthedocs.io/en/stable/plugins/smartplaylist.html)) via HTTP.
* Rewrites playlist item URIs to be accessible via HTTP, allowing to maintain a single set of playlists with local paths instead of having to generate each playlist with multiple URI formats (one per client/integration) upfront.

## Installation

```sh
python3 -m pip install beets-webm3u
```

## Configuration

Enable the plugin and add a `webm3u` section to your beets `config.yaml` as follows:
```yaml
plugins:
  - webm3u

webm3u:
  host: '127.0.0.1'
  port: 8339
  cors: ''
  cors_supports_credentials: false
  reverse_proxy: false
  include_paths: false
  playlist_dir: /data/playlists
```

## Usage

Once the `webm3u` plugin is enabled within your beets configuration, you can run it as follows:
```sh
beet webm3u
```

Once the server started, you can browse [`http://localhost:8339`](http://localhost:8339).

### CLI

```
Usage: beet webm3u [options]

Options:
  -h, --help   show this help message and exit
  -d, --debug  debug mode
```

## Development

Run the unit tests (containerized):
```sh
make test
```

Run the e2e tests (containerized):
```sh
make test-e2e
```

To test your plugin changes manually, you can run a shell within a beets docker container as follows:
```sh
make beets-sh
```

A temporary beets library is written to `./data`.
It can be removed by calling `make clean-data`.


