Coder Social home page Coder Social logo

rustyforeal / pandora-downloader Goto Github PK

View Code? Open in Web Editor NEW

This project forked from minidude22/pandora-downloader

0.0 0.0 0.0 81 KB

Allows you to download music from Pandora, while running a tiny Flask python server.

JavaScript 71.49% CSS 4.89% Python 23.62%

pandora-downloader's Introduction

Pandora Downloader

This is a simple project that uses a google chrome extension to interface with Pandora, to add the ability to download the songs for offline listening.

It uses a small python Flask web server to handle the downloading and tagging of the songs

I started this project to implement a known method of getting the song into a Chrome extension so that I could learn how they work.

Please note that use of this extension is a violation of Pandora's Terms of Use.

Update 2.0!

  • Updated the request regular expression to match new server urls, so it works again
  • Now uses the Mutagen library to add tags to the songs including album art
  • Added a continuous mode that will download all songs that play
  • Made the download button more responsive:
    • Is disabled when a song is not ready to download
    • Displays the title of the song so you know it's collected the info properly
  • Now works if Pandora isn't the active tab ( Needed for continuous downloading )
  • Unicode support
  • Code is a bit more organized

Remove Chrome Developer Warning

Follow the instructions here.

Installation

If you don't have python and pip installed, install them.

python 2.7

setuptools

pip

Install Flask and Mutagen with pip ( if you're on Windows, make sure you have your python scripts directory in your PATH )

pip install flask
pip install mutagen

Setting up the Chrome Extension

Navigate to chrome://extensions

Check the Developer Mode box.

ClickLoad unpacked extension...

Navigate to the Pandora-Downloader folder

Starting the Flask server

Open a terminal/CMD window and run the flask_server.py file

python flask_server.py

You should get the flask output of:

* Running on http://127.0.0.1:5000/

If you want an extra test, visit http://localhost:5000/download and you should see:

Method Not Allowed

The method is not allowed for the requested URL.

Configuration

You can change where songs are saved by editing flask_server.py on line 12.

This defines the save structure. It has different keywords you can use to organize your songs. Here an example using all the keywords:

save_template = os.sep.join((
    os.path.expanduser("~"),
    'Music',
    'Pandora',
    "{station}",
    "{artist}",
    "{album} - {title}.m4a"
))

*You should also be able to re-use keywords if desired

Screenshot

Displaying the download button

pandora-downloader's People

Contributors

minidude22 avatar o0westwood0o avatar rustyforeal avatar tml avatar

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.