Giter Site home page Giter Site logo

ianare / music_flask Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pykiki/music_flask

0.0 2.0 0.0 3.62 MB

WEB application is what you need to make downloading youtube music easier !

Shell 13.64% Python 47.27% JavaScript 3.27% CSS 1.27% HTML 34.55%

music_flask's Introduction

music_flask, the music downloader

Introduction

"music_flask" WEB application is what you need to make downloading youtube music easier !

Based on the Flask framework, it is entirely developped in Pyhton3.

Pre-requisites

Python3 pip3 Flask flask_wtf wtforms youtube_dl ffmpeg

Status

!! WORK IN PROGRESS !!

TODO

  • Add TLS support
  • Improve music files list design
  • Add audio balise to stream online
  • Add a way to delete musics
  • Improve and add more flash information
  • Find a way to add a progress-bar
  • Add youtube-dl progessinon informations too
  • Add a database simplistic system to store URL:file_name downloaded
  • Avoid downloading of an previously downloaded file still present in 'data'
  • A an API call to musicbrainz to retrieve tag informations and music names + update file with it.
  • Change download mechanism to be able to download in a async manner.async-io
  • Fill up the logger class
  • Add a check for the local disk available space before download. Print a warning icon when disk space is low.

Docker

Build it

You can build the docker image with the bash script included:

$ cd Docker/
$ bash -c ./build-image.sh

Start it

You must run it with user flask:

Please pay attention to the flag --rm
$ docker run -p 80:1080 -d --user flask -h musicFlask --name music_flask --rm music_flask:latest

If you want to manage the downloaded files on disk, you can mount the data directory into a volume with -v option:

$ mkdir $(pwd)/musics
$ docker run -p 80:1080 -d --user flask -h musicFlask --name music_flask -v $(pwd)/musics:/home/flask/music_flask/data --rm music_flask:latest

Manage it

  • show logs
  • attach to it
  • stop it
$ docker logs -f music_flask
$ docker exec -it music_flask sh
$ docker stop music_flask

Quickstart

Create a Python virtual environnement and then install Flask.

$ pip install Flask wtforms flask_wtf

Install youtube_dl

mkdir -p $PYTHONPATH/wheel/youtube_dl/
pushd $PYTHONPATH/wheel/youtube_dl/
curl -L "https://files.pythonhosted.org/packages/38/98/759cc271d2cda665671a835689b3fb5c5dcd6a3a3cdaf81164dd270cb263/youtube_dl-2018.4.16-py2.py3-none-any.whl" -O
popd
pip install youtube_dl

Now run the application

$ python3 ./music_flask.py

Informations

You can find youtube-dl python call options here Python'call options

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.