Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-mediafile for openSUSE:Factory checked in at 2022-11-01 13:42:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mediafile (Old)
and /work/SRC/openSUSE:Factory/.python-mediafile.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-mediafile"
Tue Nov 1 13:42:17 2022 rev:2 rq:1032502 version:0.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-mediafile/python-mediafile.changes 2022-02-13 00:16:10.360248299 +0100
+++ /work/SRC/openSUSE:Factory/.python-mediafile.new.2275/python-mediafile.changes 2022-11-01 13:42:28.551866600 +0100
@@ -1,0 +2,9 @@
+Fri Oct 28 18:25:16 UTC 2022 - Yogalakshmi Arunachalam
+
+- Update to version 0.10.0
+ * Add the multiple-valued properties albumtypes, catalognums and languages.
+ * The catalognum property now refers to additional file tags named CATALOGID and DISCOGS_CATALOG (but only for reading, not writing).
+ * The multi-valued albumartists property now refers to additional file tags named ALBUM_ARTIST and ALBUM ARTISTS. (The latter is used only for reading.)
+ * The ListMediaField class now doesn���t concatenate multiple lists if found. The first available tag is used instead, like with other kinds of fields.
+
+-------------------------------------------------------------------
Old:
----
mediafile-0.9.0.tar.gz
New:
----
mediafile-0.10.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-mediafile.spec ++++++
--- /var/tmp/diff_new_pack.yIS99Y/_old 2022-11-01 13:42:29.019869090 +0100
+++ /var/tmp/diff_new_pack.yIS99Y/_new 2022-11-01 13:42:29.023869111 +0100
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-mediafile
-Version: 0.9.0
+Version: 0.10.0
Release: 0
Summary: Handles low-level interfacing for files' tags Wraps Mutagen to
License: MIT
++++++ mediafile-0.9.0.tar.gz -> mediafile-0.10.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mediafile-0.9.0/PKG-INFO new/mediafile-0.10.0/PKG-INFO
--- old/mediafile-0.9.0/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
+++ new/mediafile-0.10.0/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +1,74 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: mediafile
-Version: 0.9.0
+Version: 0.10.0
Summary: Handles low-level interfacing for files' tags. Wraps Mutagen to
Home-page: https://github.com/beetbox/mediafile
Author: Adrian Sampson
Author-email: adrian@radbox.org
+Requires-Python: >=3.6
+Description-Content-Type: text/x-rst
+Classifier: Topic :: Multimedia :: Sound/Audio
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Environment :: Web Environment
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: Implementation :: PyPy
+Requires-Dist: six>=1.9
+Requires-Dist: mutagen>=1.45
+Requires-Dist: tox ; extra == "test"
+Provides-Extra: test
+
+MediaFile: read and write audio files' tags in Python
+=====================================================
+
+.. image:: https://github.com/beetbox/mediafile/workflows/Build/badge.svg?branch=master
+ :target: https://github.com/beetbox/mediafile/actions
+
+.. image:: http://img.shields.io/pypi/v/mediafile.svg
+ :target: https://pypi.python.org/pypi/mediafile
+
+MediaFile is a simple interface to the metadata tags for many audio file
+formats. It wraps `Mutagen`_, a high-quality library for low-level tag
+manipulation, with a high-level, format-independent interface for a common set
+of tags.
+
+.. _Mutagen: https://github.com/quodlibet/mutagen
+
+Synopsis
+--------
+
+MediaFile is available `on PyPI`_. Install it by typing ``pip install
+mediafile``. It works on Python 2.7 and Python 3.4 or later. Then:
+
+.. code:: python
+
+ >>> from mediafile import MediaFile
+ >>> f = MediaFile('Lucy.mp3')
+ >>> f.title
+ u'Lucy in the Sky with Diamonds'
+ >>> f.artist = 'The Beatles'
+ >>> f.save()
+
+.. _on PyPI: https://pypi.python.org/pypi/mediafile
+
+Documentation
+-------------
+
+See the `full documentation`_.
+
+.. _full documentation: http://mediafile.readthedocs.io/
+
+Authors
+-------
+
+MediaFile is part of the `beets`_ project. It was originally written by
+`Adrian Sampson`_ and is now developed by the beets community. The license is
+MIT.
+
+.. _Adrian Sampson: https://github.com/sampsyo
+.. _beets: https://github.com/beetbox/beets
+.. _MIT: http://www.opensource.org/licenses/mit-license.php
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mediafile-0.9.0/docs/conf.py new/mediafile-0.10.0/docs/conf.py
--- old/mediafile-0.9.0/docs/conf.py 2021-11-26 21:13:43.079020000 +0100
+++ new/mediafile-0.10.0/docs/conf.py 2022-10-21 19:42:01.103196000 +0200
@@ -17,8 +17,8 @@
copyright = '2016, the beets project'
author = 'the beets project'
-version = '0.9'
-release = '0.9.0'
+version = '0.10'
+release = '0.10.0'
pygments_style = 'sphinx'
htmlhelp_basename = 'mediafiledoc'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mediafile-0.9.0/docs/index.rst new/mediafile-0.10.0/docs/index.rst
--- old/mediafile-0.9.0/docs/index.rst 2021-11-26 21:13:43.079349300 +0100
+++ new/mediafile-0.10.0/docs/index.rst 2022-08-21 01:30:30.946122600 +0200
@@ -135,6 +135,20 @@
Changelog
---------
+v0.10.0
+'''''''
+
+- Add the multiple-valued properties ``albumtypes``, ``catalognums`` and
+ ``languages``.
+- The ``catalognum`` property now refers to additional file tags named
+ ``CATALOGID`` and ``DISCOGS_CATALOG`` (but only for reading, not writing).
+- The multi-valued ``albumartists`` property now refers to additional file
+ tags named ``ALBUM_ARTIST`` and ``ALBUM ARTISTS``. (The latter
+ is used only for reading.)
+- The ``ListMediaField`` class now doesn't concatenate multiple lists if
+ found. The first available tag is used instead, like with other kinds of
+ fields.
+
v0.9.0
''''''
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mediafile-0.9.0/mediafile.py new/mediafile-0.10.0/mediafile.py
--- old/mediafile-0.9.0/mediafile.py 2021-11-26 21:13:43.079976600 +0100
+++ new/mediafile-0.10.0/mediafile.py 2022-10-21 19:42:14.461887400 +0200
@@ -59,7 +59,7 @@
import traceback
-__version__ = '0.9.0'
+__version__ = '0.10.0'
__all__ = ['UnreadableFileError', 'FileTypeError', 'MediaFile']
log = logging.getLogger(__name__)
@@ -1312,11 +1312,12 @@
Uses ``get_list`` and set_list`` methods of its ``StorageStyle``
strategies to do the actual work.
"""
- def __get__(self, mediafile, _):
- values = []
+ def __get__(self, mediafile, _=None):
for style in self.styles(mediafile.mgfile):
- values.extend(style.get_list(mediafile.mgfile))
- return [_safe_cast(self.out_type, value) for value in values]
+ values = style.get_list(mediafile.mgfile)
+ if values:
+ return [_safe_cast(self.out_type, value) for value in values]
+ return []
def __set__(self, mediafile, values):
for style in self.styles(mediafile.mgfile):
@@ -1909,22 +1910,33 @@
MP3StorageStyle('TPE2'),
MP4StorageStyle('aART'),
StorageStyle('ALBUM ARTIST'),
+ StorageStyle('ALBUM_ARTIST'),
StorageStyle('ALBUMARTIST'),
ASFStorageStyle('WM/AlbumArtist'),
)
albumartists = ListMediaField(
MP3ListDescStorageStyle(desc=u'ALBUMARTISTS'),
+ MP3ListDescStorageStyle(desc=u'ALBUM_ARTISTS'),
+ MP3ListDescStorageStyle(desc=u'ALBUM ARTISTS', read_only=True),
MP4ListStorageStyle('----:com.apple.iTunes:ALBUMARTISTS'),
+ MP4ListStorageStyle('----:com.apple.iTunes:ALBUM_ARTISTS'),
+ MP4ListStorageStyle(
+ '----:com.apple.iTunes:ALBUM ARTISTS', read_only=True
+ ),
ListStorageStyle('ALBUMARTISTS'),
+ ListStorageStyle('ALBUM_ARTISTS'),
+ ListStorageStyle('ALBUM ARTISTS', read_only=True),
ASFStorageStyle('WM/AlbumArtists'),
)
- albumtype = MediaField(
- MP3DescStorageStyle(u'MusicBrainz Album Type'),
- MP4StorageStyle('----:com.apple.iTunes:MusicBrainz Album Type'),
- StorageStyle('RELEASETYPE'),
- StorageStyle('MUSICBRAINZ_ALBUMTYPE'),
+ albumtypes = ListMediaField(
+ MP3ListDescStorageStyle('MusicBrainz Album Type', split_v23=True),
+ MP4ListStorageStyle('----:com.apple.iTunes:MusicBrainz Album Type'),
+ ListStorageStyle('RELEASETYPE'),
+ ListStorageStyle('MUSICBRAINZ_ALBUMTYPE'),
ASFStorageStyle('MusicBrainz/Album Type'),
)
+ albumtype = albumtypes.single_field()
+
label = MediaField(
MP3StorageStyle('TPUB'),
MP4StorageStyle('----:com.apple.iTunes:LABEL'),
@@ -1952,12 +1964,26 @@
StorageStyle('ASIN'),
ASFStorageStyle('MusicBrainz/ASIN'),
)
- catalognum = MediaField(
- MP3DescStorageStyle(u'CATALOGNUMBER'),
- MP4StorageStyle('----:com.apple.iTunes:CATALOGNUMBER'),
- StorageStyle('CATALOGNUMBER'),
+ catalognums = ListMediaField(
+ MP3ListDescStorageStyle('CATALOGNUMBER', split_v23=True),
+ MP3ListDescStorageStyle('CATALOGID', read_only=True),
+ MP3ListDescStorageStyle('DISCOGS_CATALOG', read_only=True),
+ MP4ListStorageStyle('----:com.apple.iTunes:CATALOGNUMBER'),
+ MP4ListStorageStyle(
+ '----:com.apple.iTunes:CATALOGID', read_only=True
+ ),
+ MP4ListStorageStyle(
+ '----:com.apple.iTunes:DISCOGS_CATALOG', read_only=True
+ ),
+ ListStorageStyle('CATALOGNUMBER'),
+ ListStorageStyle('CATALOGID', read_only=True),
+ ListStorageStyle('DISCOGS_CATALOG', read_only=True),
ASFStorageStyle('WM/CatalogNo'),
+ ASFStorageStyle('CATALOGID', read_only=True),
+ ASFStorageStyle('DISCOGS_CATALOG', read_only=True),
)
+ catalognum = catalognums.single_field()
+
barcode = MediaField(
MP3DescStorageStyle(u'BARCODE'),
MP4StorageStyle('----:com.apple.iTunes:BARCODE'),
@@ -1993,12 +2019,14 @@
StorageStyle('SCRIPT'),
ASFStorageStyle('WM/Script'),
)
- language = MediaField(
- MP3StorageStyle('TLAN'),
- MP4StorageStyle('----:com.apple.iTunes:LANGUAGE'),
- StorageStyle('LANGUAGE'),
+ languages = ListMediaField(
+ MP3ListStorageStyle('TLAN'),
+ MP4ListStorageStyle('----:com.apple.iTunes:LANGUAGE'),
+ ListStorageStyle('LANGUAGE'),
ASFStorageStyle('WM/Language'),
)
+ language = languages.single_field()
+
country = MediaField(
MP3DescStorageStyle(u'MusicBrainz Album Release Country'),
MP4StorageStyle('----:com.apple.iTunes:MusicBrainz '
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mediafile-0.9.0/setup.py new/mediafile-0.10.0/setup.py
--- old/mediafile-0.9.0/setup.py 1970-01-01 01:00:00.000000000 +0100
+++ new/mediafile-0.10.0/setup.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-# setup.py generated by flit for tools that don't yet use PEP 517
-
-from distutils.core import setup
-
-install_requires = \
-['six>=1.9', 'mutagen>=1.45']
-
-extras_require = \
-{'test': ['tox']}
-
-setup(name='mediafile',
- version='0.9.0',
- description="Handles low-level interfacing for files' tags. Wraps Mutagen to",
- author='Adrian Sampson',
- author_email='adrian@radbox.org',
- url='https://github.com/beetbox/mediafile',
- py_modules=['mediafile'],
- install_requires=install_requires,
- extras_require=extras_require,
- python_requires='>=3.6',
- )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mediafile-0.9.0/test/test_mediafile.py new/mediafile-0.10.0/test/test_mediafile.py
--- old/mediafile-0.9.0/test/test_mediafile.py 2021-11-26 21:13:43.082924600 +0100
+++ new/mediafile-0.10.0/test/test_mediafile.py 2022-03-30 13:41:40.412092200 +0200
@@ -1109,7 +1109,8 @@
fields = list(ReadWriteTestBase.tag_fields)
fields.extend(
('encoder', 'images', 'genres', 'albumtype', 'artists',
- 'albumartists', 'url', 'mb_artistids', 'mb_albumartistids')
+ 'albumartists', 'url', 'mb_artistids', 'mb_albumartistids',
+ 'albumtypes', 'catalognums', 'languages')
)
assertCountEqual(self, MediaFile.fields(), fields)