Giter Site home page Giter Site logo

liupold / fmdpy Goto Github PK

View Code? Open in Web Editor NEW
38.0 38.0 6.0 650 KB

music downloader written in python. (Uses jiosaavn API)

License: GNU General Public License v3.0

Python 100.00%
download free jiosaavn jiosaavn-api jiosaavn-downloader mp3 music opus

fmdpy's Introduction

Hi ๐Ÿ‘‹, I'm Liupold

A passionate tinkerer.

liupold

  • ๐Ÿ”ญ Iโ€™m currently working on ____________.

Languages and Tools:

c cplusplus git go linux matlab python rust

liupold

liupold

fmdpy's People

Contributors

arsaboo avatar liupold avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

fmdpy's Issues

Gracefully exit after fmdpy prompt

Wondering what is the best way to gracefully exit after the fmdpy: prompt. Otherwise, anything that you enter after the fmdpy gives some error

fmdpy: asldkfjalsdkfjal;sdfjlas
Traceback (most recent call last):
  File "/home/arsaboo/.local/bin/fmdpy", line 8, in <module>
    sys.exit(fmdpy())
  File "/home/arsaboo/.local/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/fmdpy/__main__.py", line 121, in fmdpy
    c_pool.append(int(indx)-1)
ValueError: invalid literal for int() with base 10: 'asldkfjalsdkfjal;sdfjlas'

Missing prompt documentation

Prompt documentation must be added before the 0.7 release.
The prompt now supports the following :

Operators:
{}, {}-{}, {}:{}: Will download the songs from the list.
{}.p, {}-{}.p, {}:{}.p: Will stream the songs from the list.
{}.l: will show the lyrics

Commands:
.conf : show the config (priority: command line > config file > default)
.ls: show the current song list.
.save {name}: save the current song list.
.lsave: list all the saved song list.
.load {name}: load the saved song list.

Command which may be added:
.cls or .clear: clears the screen
.del {name}: delete a saved song list.
.set {option} {value}: on the fly config update.
.gen: write the current config to config file.
{}.i: show the info of the song.
{}.u: show download url of the song.
{}.t: show the thumbnail url of the song.

fmt = mp3 not working

On one of my machines, fmt --mp3 (both using the command line parameters or the config file) is not working. If I keep fmt = native, I get an mp4 file. However, no output is produced when I use fmt = mp3. I reinstalled FFmpeg and even manually tried the conversion (which works).

Any thoughts on how I may debug this?

Looks like API changed

Getting this error:

Traceback (most recent call last):
  File "/home/arsaboo/.local/lib/python3.10/site-packages/requests/models.py", line 971, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/arsaboo/.local/bin/fmdpy", line 8, in <module>
    sys.exit(fmdpy())
  File "/home/arsaboo/.local/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/fmdpy/__main__.py", line 112, in fmdpy
    song_list = find_songs(search, count)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/fmdpy/prompt.py", line 22, in find_songs
    song_list = query(search_str, count)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/fmdpy/api.py", line 94, in query
    return query_songs_search(query_string, max_results)
  File "/home/arsaboo/.local/lib/python3.10/site-packages/fmdpy/api.py", line 58, in query_songs_search
    return parse_query(req.json())
  File "/home/arsaboo/.local/lib/python3.10/site-packages/requests/models.py", line 975, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Accept URL as input

Instead of searching, I was wondering if we can add a feature to directly provide a URL. The search is not perfect.

fmdpy broken

Looks like fmdpy is broken at the moment. It only returns small files (not audio files) and then ffmpeg returns an error.

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.