Package Details: python-eyed3 0.9.7-2

Git Clone URL: https://aur.archlinux.org/python-eyed3.git (read-only, click to copy)
Package Base: python-eyed3
Description: A Python module and program for processing information about mp3 files
Upstream URL: https://eyed3.nicfit.net/
Licenses: GPL
Submitter: amish
Maintainer: amish (FabioLolix)
Last Packager: amish
Votes: 8
Popularity: 0.030470
First Submitted: 2022-11-22 09:00 (UTC)
Last Updated: 2023-05-12 07:05 (UTC)

Pinned Comments

Latest Comments

1 2 Next › Last »

amish commented on 2024-04-30 12:15 (UTC)

@FabioLolix - added as co-maintainer

FabioLolix commented on 2024-04-30 11:11 (UTC)

Hello, I'm interested since it is related to 2 of my pkgbuilds

amish commented on 2024-04-30 10:47 (UTC)

@dreieck - would you like to co-maintain the package?

dreieck commented on 2024-04-28 15:43 (UTC)

License specifier needs to be made SPDX-compliant:

python-eyed3 E: GPL is not a valid SPDX license identifier. See https://spdx.org/licenses/ for valid identifiers, or prefix the identifier with 'LicenseRef-', if it is custom.

(e.g. GPL-3.0-or-later or GPL-2.0-or-later)

Regards and thanks for maintaining!

dreieck commented on 2024-04-28 15:42 (UTC)

According to namcap, there are missing dependencies:

python-eyed3 W: Referenced python module 'pylast.SIZE_MEDIUM' is an uninstalled dependency (needed in files ['usr/lib/python3.12/site-packages/eyed3/plugins/lastfm.py'])
python-eyed3 W: Referenced python module 'pylast.LastFMNetwork' is an uninstalled dependency (needed in files ['usr/lib/python3.12/site-packages/eyed3/plugins/lastfm.py'])
python-eyed3 W: Referenced python module 'pylast.SIZE_SMALL' is an uninstalled dependency (needed in files ['usr/lib/python3.12/site-packages/eyed3/plugins/lastfm.py'])
python-eyed3 W: Referenced python module 'pylast.SIZE_LARGE' is an uninstalled dependency (needed in files ['usr/lib/python3.12/site-packages/eyed3/plugins/lastfm.py'])
python-eyed3 W: Referenced python module 'pylast.SIZE_MEGA' is an uninstalled dependency (needed in files ['usr/lib/python3.12/site-packages/eyed3/plugins/lastfm.py'])
python-eyed3 W: Referenced python module 'pylast.WSError' is an uninstalled dependency (needed in files ['usr/lib/python3.12/site-packages/eyed3/plugins/lastfm.py'])
python-eyed3 W: Referenced python module 'pylast.SIZE_EXTRA_LARGE' is an uninstalled dependency (needed in files ['usr/lib/python3.12/site-packages/eyed3/plugins/lastfm.py'])
python-eyed3 W: Referenced python module 'ipdb' is an uninstalled dependency (needed in files ['usr/lib/python3.12/site-packages/eyed3/main.py'])
python-eyed3 E: Dependency python-importlib-metadata detected and not included (python modules ['importlib_metadata.distribution'] needed in files ['usr/bin/eyeD3'])
python-eyed3 E: Dependency python-setuptools detected and not included (python modules ['pkg_resources.load_entry_point'] needed in files ['usr/bin/eyeD3'])
python-eyed3 E: Dependency python-ruamel-yaml detected and not included (python modules ['ruamel.yaml'] needed in files ['usr/lib/python3.12/site-packages/eyed3/plugins/yamltag.py'])
python-eyed3 E: Dependency python-magic detected and not included (python modules ['magic'] needed in files ['usr/lib/python3.12/site-packages/eyed3/plugins/mimetype.py'])
python-eyed3 E: Dependency python-pillow detected and not included (python modules ['PIL', 'PIL.Image'] needed in files ['usr/lib/python3.12/site-packages/eyed3/plugins/art.py'])

If they are not needed as dependency, then consider adding them to the optdepends array.

Regards!

dreieck commented on 2024-04-28 15:39 (UTC)

check() fails for me:

==> Starting check()...
[...]
tests/test_utils.py .....                                                                                                                                                                     [100%]

============================================================================================= FAILURES ==============================================================================================
__________________________________________________________________________________________ testYamlPlugin ___________________________________________________________________________________________

audiofile = <eyed3.mp3.Mp3AudioFile object at 0x7f460fb5ba10>

    def testYamlPlugin(audiofile):
        _initTag(audiofile)

        omap, omap_list = "", "  "
        if sys.version_info[:2] <= (3, 7):
            omap = " !!omap"
            omap_list = "- "

>       _assertFormat("yaml", audiofile, f"""
    ---
    _eyeD3: %(version)s
    album: Suffer
    artist: Bad Religion
    best_release_date: '1988'
    info:
      size_bytes: %(size_bytes)d
      time_secs: 10.68
    path: %(path)s
    recording_date: '1987'
    release_date: '1988'
    title: Suffer
    track_num:{omap}
    {omap_list}count: 9
    {omap_list}total: 15
    """)

tests/test_jsonyaml_plugin.py:69: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_jsonyaml_plugin.py:30: in _assertFormat
    output = _runPlugin(audio_file, plugin)
tests/test_jsonyaml_plugin.py:22: in _runPlugin
    assert main.main(args, config) == 0
eyed3/main.py:41: in main
    eyed3.utils.walk(args.plugin, p, excludes=args.excludes, fs_encoding=args.fs_encoding,
eyed3/utils/__init__.py:71: in walk
    handler.handleFile(os.path.abspath(path))
eyed3/plugins/yamltag.py:29: in handleFile
    print(yaml.safe_dump(audioFileToJson(self.audio_file),
/usr/lib/python3.12/site-packages/ruamel/yaml/main.py:1260: in safe_dump
    error_deprecation('safe_dump', 'dump', arg="typ='safe', pure=True")
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

fun = 'safe_dump', method = 'dump', arg = "typ='safe', pure=True", comment = 'instead of'

    def error_deprecation(fun: Any, method: Any, arg: str = '', comment: str = 'instead of') -> None:  # NOQA
        import inspect

        s = f'\n"{fun}()" has been removed, use\n\n  yaml = YAML({arg})\n  yaml.{method}(...)\n\n{comment}'  # NOQA
        try:
            info = inspect.getframeinfo(inspect.stack()[2][0])
            context = '' if info.code_context is None else "".join(info.code_context)
            s += f' file "{info.filename}", line {info.lineno}\n\n{context}'
        except Exception as e:
            _ = e
        s += '\n'
        if sys.version_info < (3, 10):
            raise AttributeError(s)
        else:
>           raise AttributeError(s, name=None)
E           AttributeError: 
E           "safe_dump()" has been removed, use
E           
E             yaml = YAML(typ='safe', pure=True)
E             yaml.dump(...)
E           
E           instead of file "/var/cache/makepkg/build/python-eyed3/src/eyeD3-0.9.7/eyed3/plugins/yamltag.py", line 29
E           
E                           print(yaml.safe_dump(audioFileToJson(self.audio_file),

/usr/lib/python3.12/site-packages/ruamel/yaml/main.py:1039: AttributeError
========================================================================================= warnings summary ==========================================================================================
tests/test_classic_plugin.py:879
  /var/cache/makepkg/build/python-eyed3/src/eyeD3-0.9.7/tests/test_classic_plugin.py:879: PytestUnknownMarkWarning: Unknown pytest.mark.audiofile_name - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.audiofile_name("unknown-frame-ASDF.mp3")

tests/test_jsonyaml_plugin.py::testJsonPlugin
tests/test_jsonyaml_plugin.py::testYamlPlugin
  /var/cache/makepkg/build/python-eyed3/src/eyeD3-0.9.7/eyed3/plugins/jsontag.py:42: DeprecationWarning: Use Tag.getBestDate() instead
    member = getattr(tag, name)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
====================================================================================== short test summary info ======================================================================================
FAILED tests/test_jsonyaml_plugin.py::testYamlPlugin - AttributeError: 
============================================================================= 1 failed, 183 passed, 3 warnings in 1.29s =============================================================================
==> ERROR: A failure occurred in check().

I do not have a clean chroot set up.

Regards!

Rhinoceros commented on 2023-07-26 22:54 (UTC)

Thanks @FabioLolix. Building in a clean chroot seems to work fine.

FabioLolix commented on 2023-07-26 22:29 (UTC)

Here builded fine both with makepkg (not up to date) and with devtools https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot extra-x86_64-build command

Rhinoceros commented on 2023-07-26 22:12 (UTC)

I can't get this to build. I tried installing python-yaml as per the comment from @FabioLolix. I already had python-setuptools installed.

======================================================================================================================================= FAILURES ========================================================================================================================================
____________________________________________________________________________________________________________________________________ testYamlPlugin _____________________________________________________________________________________________________________________________________

audiofile = <eyed3.mp3.Mp3AudioFile object at 0x7f58b2d4e5d0>

    def testYamlPlugin(audiofile):
        _initTag(audiofile)

        omap, omap_list = "", "  "
        if sys.version_info[:2] <= (3, 7):
            omap = " !!omap"
            omap_list = "- "

>       _assertFormat("yaml", audiofile, f"""
    ---
    _eyeD3: %(version)s
    album: Suffer
    artist: Bad Religion
    best_release_date: '1988'
    info:
      size_bytes: %(size_bytes)d
      time_secs: 10.68
    path: %(path)s
    recording_date: '1987'
    release_date: '1988'
    title: Suffer
    track_num:{omap}
    {omap_list}count: 9
    {omap_list}total: 15
    """)

tests/test_jsonyaml_plugin.py:69: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

plugin = 'yaml', audio_file = <eyed3.mp3.Mp3AudioFile object at 0x7f58b2d4e5d0>
format = "\n---\n_eyeD3: %(version)s\nalbum: Suffer\nartist: Bad Religion\nbest_release_date: '1988'\ninfo:\n  size_bytes: %(si...68\npath: %(path)s\nrecording_date: '1987'\nrelease_date: '1988'\ntitle: Suffer\ntrack_num:\n  count: 9\n  total: 15\n"

    def _assertFormat(plugin: str, audio_file, format: str):
        output = _runPlugin(audio_file, plugin)
        print(output)
        size_bytes = os.stat(audio_file.path)[stat.ST_SIZE]
>       assert output.strip() == format.strip() % dict(path=audio_file.path, version=version,
                                                       size_bytes=size_bytes)
E       AssertionError: assert '---\n_eyeD3:...\n  total: 15' == '---\n_eyeD3:...\n  total: 15'
E         Skipping 121 identical leading characters in diff, use -v to show
E           .68
E         + path: 
E         - path: /tmp/pytest-of-rhino/pytest-1/testYamlPlugin0/924ff078-0bf1-4b18-acba-49486186fdf0.mp3
E         ? ^^^^^
E         +   /tmp/pytest-of-rhino/pytest-1/testYamlPlugin0/924ff078-0bf1-4b18-acba-49486186fdf0.mp3
E         ? ^...
E         
E         ...Full output truncated (6 lines hidden), use '-vv' to show

tests/test_jsonyaml_plugin.py:33: AssertionError

gabor_zoka commented on 2023-04-07 13:52 (UTC)

Hello amish,

Would you consider this patch? https:// makes more credibility, and not just relying on the chksum in the PKGBUILD

Thank you,

Gábor

--- a/PKGBUILD
+++ b/PKGBUILD
@@ -16,7 +16,7 @@ depends=('python-deprecation' 'python-filetype' 'python-packaging' 'python-reque
 checkdepends=('python-factory-boy' 'python-pytest')
 #source=("eyed3-${pkgver}-${_eyed3_gitrev}.tar.gz::https://github.com/nicfit/eyeD3/archive/${_eyed3_gitrev}.tar.gz"
 source=("eyed3-${pkgver}.tar.gz::https://github.com/nicfit/eyeD3/archive/refs/tags/v${pkgver}.tar.gz"
-        'http://eyed3.nicfit.net/releases/eyeD3-test-data.tgz')
+        'https://eyed3.nicfit.net/releases/eyeD3-test-data.tgz')
 sha256sums=('808f2d376b585ff13c35f614b970f3392c0f15de191c5a96c6b04532bf2217ec'
             'b7cd2fe8d7114f597dbe1e06c11587af566cf92f640cef9af6408a824face37f')
 options=(!emptydirs)