Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deezer API changed probably and doesn't work anymore #50

Open
moehmeni opened this issue Jun 11, 2024 · 6 comments
Open

Deezer API changed probably and doesn't work anymore #50

moehmeni opened this issue Jun 11, 2024 · 6 comments
Labels
help wanted Extra attention is needed

Comments

@moehmeni
Copy link
Owner

Scheduled tests of this morning fail due to Deezer failure. I put a log and response of the API for the song request is:

# ...
self._api_call("song.getLyrics", json={"sng_id": track_id})
# ...
{'error': {'DATA_ERROR': 'No lyrics id for 655095912 and country DE'}, 'results': {}, 'payload': None}

I am removing it for now from the library, but PR is much appreciated to make it work again.

@moehmeni moehmeni added the help wanted Extra attention is needed label Jun 11, 2024
@Cornelius-Figgle
Copy link

Is this why I am getting the following failed test? If so, do you have a rough idea of how long before a release/tagged source archive will be available for a fixed version?

_________________________________ test_deezer _________________________________

    def test_deezer():
>       _test_provider("Deezer")

tests.py:44:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

provider = 'Deezer', kwargs = {}, lrc = None, @py_assert3 = False
@py_format5 = 'assert False\n{False = isinstance(None, str)\n}'

    def _test_provider(provider: str, **kwargs):
        lrc = syncedlyrics.search(
            search_term=q, allow_plain_format=True, providers=[provider], **kwargs
        )
        logging.debug(lrc)
>       assert isinstance(lrc, str)
E       assert False
E        +  where False = isinstance(None, str)
=========================== short test summary info ============================
FAILED tests.py::test_deezer - assert False
========================= 1 failed, 5 passed in 8.76s ==========================
tests.py:17: AssertionError

I am attempting to compile this package for Void Linux (since it is a dependency for another package) and encountered this just now.

Thanks in advance :)

@moehmeni
Copy link
Owner Author

@Cornelius-Figgle Sorry I forgot to answer back then, I just released v1.0.0.

@Cornelius-Figgle
Copy link

Thank you, I will update my package :)

@Albert-aka-Albot
Copy link

Albert-aka-Albot commented Jun 16, 2024

I am getting the same error on Arch Linux :

==> Starting check()...
================================================================ test session starts ================================================================
platform linux -- Python 3.12.3, pytest-8.2.2, pluggy-1.5.0
rootdir: /home/user/.cache/paru/clone/python-syncedlyrics/src/syncedlyrics-0.10.1
configfile: pyproject.toml
plugins: typeguard-4.2.1, asyncio-0.23.7, mock-3.14.0, anyio-4.4.0
asyncio: mode=Mode.STRICT
collected 6 items                                                                                                                                   

tests.py .....F                                                                                                                               [100%]

===================================================================== FAILURES ======================================================================
____________________________________________________________________ test_deezer ____________________________________________________________________

    def test_deezer():
>       _test_provider("Deezer")

tests.py:44: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

provider = 'Deezer', kwargs = {}, lrc = None, @py_assert3 = False, @py_format5 = 'assert False\n{False = isinstance(None, str)\n}'

    def _test_provider(provider: str, **kwargs):
        lrc = syncedlyrics.search(
            search_term=q, allow_plain_format=True, providers=[provider], **kwargs
        )
        logging.debug(lrc)
>       assert isinstance(lrc, str)
E       assert False
E        +  where False = isinstance(None, str)

tests.py:17: AssertionError
============================================================== short test summary info ==============================================================
FAILED tests.py::test_deezer - assert False
============================================================ 1 failed, 5 passed in 9.81s ============================================================
==> ERROR: A failure occurred in check().
    Aborting...
error: failed to build 'python-syncedlyrics-0.10.1-1'

@moehmeni
Copy link
Owner Author

moehmeni commented Jun 16, 2024

@Albert-aka-Albot Upgrade to v1.0.0, but I think spotdl will have compatibility issues since the new version breaks the backwards compatibility.

@Cornelius-Figgle
Copy link

I think spotdl will have compatibility issues

I can confirm this when building SpotDl 4.2.5 (under XBPS) with syncedlyrics 1.0.0. I do not experience this error with 0.10.1

Thank you again for the release though, now I have to wait for SpotDL to update their's :)

Successfully built spotdl-4.2.5-py3-none-any.whl
=> spotdl-4.2.5_1: running do_check ...
ImportError while loading conftest '/builddir/spotdl-4.2.5/tests/conftest.py'.
tests/conftest.py:7: in <module>
    from spotdl.download.downloader import Downloader
spotdl/__init__.py:13: in <module>
    from spotdl.console import console_entry_point
spotdl/console/__init__.py:5: in <module>
    from spotdl.console.entry_point import console_entry_point
spotdl/console/entry_point.py:10: in <module>
    from spotdl.console.download import download
spotdl/console/download.py:7: in <module>
    from spotdl.download.downloader import Downloader
spotdl/download/downloader.py:44: in <module>
    from spotdl.utils.lrc import generate_lrc
spotdl/utils/lrc.py:10: in <module>
    from syncedlyrics.utils import is_lrc_valid, save_lrc_file
E   ImportError: cannot import name 'is_lrc_valid' from 'syncedlyrics.utils' (/usr/lib/python3.12/site-packages/syncedlyrics/utils.py)
=> ERROR: spotdl-4.2.5_1: do_check: 'PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" PY_IGNORE_IMPORTMISMATCH=1 ${make_check_pre} pytest3 ${testjobs} ${make_check_args} ${make_check_target}' exited with 4
=> ERROR:   in do_check() at common/build-style/python3-pep517.sh:36

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants