Rave-DL
=======

Rips video and audio (with metadata) from music mixing website
`RaveDJ`_. Support the creators of the website on `Patreon`_.

Install with ``python3 -m pip install rave-dl`` or
``poetry add rave-dl``.

Example Usage
-------------

Application Programming Interface
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code:: python

   from rave-dl import RaveDJ

   rave = RaveDJ('https://rave.dj/sZJr6b9MG6vpPA')
   rave.scraper(filetype="mp3+mp4", metadata=True, output="hello_world")

Command Line Interface
~~~~~~~~~~~~~~~~~~~~~~

.. code:: bash

   python3 -m rave-dl "https://rave.dj/sZJr6b9MG6vpPA" -m -f mp3+mp4 -o hello_world

API
---

class RaveDJ
~~~~~~~~~~~~

Attributes:

-  datastore (list): Contains information on multiple videos

Args:

-  url (str): URL of RaveDJ video

def scraper(filetype="mp4", metadata=False, output="output")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Download music videos from RaveDJ.

Args:

-  filetype (str, optional): Choose to download MP3s (mp3), MP4s (mp4),
   or both (mp3+mp4). Defaults to "mp4".
-  metadata (bool, optional): Adds metadata (title, artist, album art)
   to MP3s. Defaults to False.
-  output (str, optional): Folder files are downloaded to. Defaults to
   "output".

CLI
---

Invoke it with ``python3 -m rave-dl`` or ``python3 rave-dl.py``.

.. code:: bash

   usage: rave-dl [-h] [-m] [-f FILETYPE] [-o OUTPUT] [-nb] [-v] URL

   Rips video and audio (with metadata) from music mixing website RaveDJ. (v1.0)

   positional arguments:
     URL                   link to RaveDJ video

   optional arguments:
     -h, --help            show this help message and exit
     -m, --metadata        Adds metadata (title, artist, album art) to MP3s.
     -f FILETYPE, --filetype FILETYPE
                           Choose to download MP3s [mp3], MP4s [mp4], or both
                           [mp3+mp4].
     -o OUTPUT, --output OUTPUT
                           Folder to download files to.
     -nb, --nobar          Do not display bar when downloading.
     -v, --version         Show version number and exit.

.. _RaveDJ: https://rave.dj/
.. _Patreon: https://www.patreon.com/RaveDJ/