https://github.com/e-lie/funkdl
https://github.com/e-lie/funkdl
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/e-lie/funkdl
- Owner: e-lie
- Created: 2022-01-02T02:41:08.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-02T16:06:33.000Z (about 4 years ago)
- Last Synced: 2025-05-10T23:32:47.155Z (10 months ago)
- Language: Python
- Size: 4.88 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-technostructure - e-lie/funkdl - lie/funkd ([🌐 decentralize](https://github.com/stars/ketsapiwiq/lists/decentralize))
README
# FunkDL
FunkDL integrates Funkwhale with SpotDL music gathering from spotify links : automatically download and reupload content to funkwhale creating/updating a playlist.
To use it, you need spotdl installed in PATH and an account on a Funkwhale pod (instance) with upload rights.
## Installation
- Clone this repository.
- Install SpotDL (look at their github README)
- Install python dependencies from `requirements.txt` in a virtualenv. For example:
- `python3 -m venv`
- `source venv/bin/activate`
- `pip install -r requirements.txt`
- Create an application authentication token by visiting your account settings on the funkwhale instance.
- Also get the library identifier of the funkwhale library you want to upload to (for example by visiting the library page on instance looking for uuid like `a2114f40-aef6-4d1b-926d-d9fy5c928388` in the web url)
- FIRST DUPLICATE `cli_env.dist` into `cli_env` THEN (to avoid leaking your token through git) complete `cli_env` with preceding token, library id and funkwale base url (`https://your.funkwhale.io/`)
- Create environment parameters by sourcing `cli_env`: `source cli_env`.
- Use then `./funkdl ''`.
Hopefully I'll find time soon to package this properly (to avoid this long dev installation).
I would be great to transform this integration into a Funkwhale source plugin.
## Usage
```
FunkDL. Funkwhale SpotDL integration to ease music gathering.
Usage:
funkdl '' [--no-delete] [--no-playlist] [--no-upload] [--funkwhale-url=] [--funkwhale-token=] [--library-id=] [--playlist-name=]
Options:
-h --help Show this screen.
--funkwhale-url= Specify funkwhale instance url to upload to [default: FUNKWHALE_URL].
--funkwhale-token= Authentication token (you need to create an app see funkwhale doc) [default: FUNKWHALE_TOKEN].
--library-id= The funkwhale library to upload music into. [default: FUNKWHALE_LIBRARY_ID].
--playlist-name= Override playlist name from spotify by your own.
--no-playlist Don't create playlist for the uploaded content.
--no-delete Avoid final deletion of downloaded audio files.
--no-upload Only add locally listed (m3u) files to playlist avoiding download and upload of files.
```