Hello community,

here is the log from the commit of package python-pymediainfo for 
openSUSE:Factory checked in at 2018-09-13 12:13:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pymediainfo (Old)
 and      /work/SRC/openSUSE:Factory/.python-pymediainfo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pymediainfo"

Thu Sep 13 12:13:10 2018 rev:3 rq:635324 version:2.3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pymediainfo/python-pymediainfo.changes    
2017-11-12 18:10:22.167285391 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-pymediainfo.new/python-pymediainfo.changes   
    2018-09-13 12:14:06.514118215 +0200
@@ -1,0 +2,9 @@
+Wed Sep 12 07:12:47 UTC 2018 - [email protected]
+
+- Update to version 2.3.0
+  * Add setuptools to install_requires (#50)
+  * Add an option to extract cover_data for libmediainfo ≥ 18.03
+    (#51)
+  * Get version from setuptools_scm
+
+-------------------------------------------------------------------

Old:
----
  pymediainfo-2.2.0.tar.gz

New:
----
  pymediainfo-2.3.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pymediainfo.spec ++++++
--- /var/tmp/diff_new_pack.BkuB49/_old  2018-09-13 12:14:07.066117590 +0200
+++ /var/tmp/diff_new_pack.BkuB49/_new  2018-09-13 12:14:07.074117581 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pymediainfo
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,21 +18,21 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-pymediainfo
-Version:        2.2.0
+Version:        2.3.0
 Release:        0
 Summary:        Python wrapper for the mediainfo library
 License:        MIT
 Group:          Development/Languages/Python
-Url:            https://github.com/sbraz/pymediainfo
+URL:            https://github.com/sbraz/pymediainfo
 Source0:        
https://files.pythonhosted.org/packages/source/p/pymediainfo/pymediainfo-%{version}.tar.gz
 Source99:       %{name}-rpmlintrc
 BuildRequires:  %{python_module pytest}
+BuildRequires:  %{python_module setuptools_scm}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  libmediainfo0
 Requires:       libmediainfo0
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildArch:      noarch
 %python_subpackages
 
@@ -52,11 +52,13 @@
 
 %check
 export LANG=en_US.UTF-8
-%python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} $python 
%{_bindir}/py.test -v -k 'not MediaInfoURLTest'
+%{python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} $python 
%{_bindir}/py.test -v \
+  -k 'not MediaInfoURLTest and not MediaInfoLibraryTest'
+}
 
 %files %{python_files}
-%defattr(-,root,root,-)
 %doc README.rst
+%license LICENSE
 %{python_sitelib}/*
 
 %changelog

++++++ pymediainfo-2.2.0.tar.gz -> pymediainfo-2.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-2.2.0/AUTHORS 
new/pymediainfo-2.3.0/AUTHORS
--- old/pymediainfo-2.2.0/AUTHORS       1970-01-01 01:00:00.000000000 +0100
+++ new/pymediainfo-2.3.0/AUTHORS       2018-05-14 16:15:08.000000000 +0200
@@ -0,0 +1,3 @@
+Patrick Altman <[email protected]> (author)
+cjlucas https://github.com/cjlucas
+Louis Sautier <[email protected]> (maintainer since 2016)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-2.2.0/LICENSE 
new/pymediainfo-2.3.0/LICENSE
--- old/pymediainfo-2.2.0/LICENSE       1970-01-01 01:00:00.000000000 +0100
+++ new/pymediainfo-2.3.0/LICENSE       2018-05-14 16:15:08.000000000 +0200
@@ -0,0 +1,24 @@
+The MIT License
+
+Copyright (c) 2010-2014, Patrick Altman <[email protected]>
+Copyright (c) 2016, Louis Sautier <[email protected]>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+http://www.opensource.org/licenses/mit-license.php
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-2.2.0/PKG-INFO 
new/pymediainfo-2.3.0/PKG-INFO
--- old/pymediainfo-2.2.0/PKG-INFO      2017-11-08 00:10:33.000000000 +0100
+++ new/pymediainfo-2.3.0/PKG-INFO      2018-05-14 16:15:37.000000000 +0200
@@ -1,12 +1,36 @@
 Metadata-Version: 1.1
 Name: pymediainfo
-Version: 2.2.0
+Version: 2.3.0
 Summary: A Python wrapper for the mediainfo library.
 Home-page: https://github.com/sbraz/pymediainfo
 Author: Louis Sautier
 Author-email: [email protected]
 License: MIT
-Description: UNKNOWN
+Description: pymediainfo
+        -----------
+        
+        .. image:: https://img.shields.io/pypi/v/pymediainfo.svg
+          :target: https://pypi.org/project/pymediainfo
+        
+        .. image:: https://img.shields.io/pypi/pyversions/pymediainfo.svg
+          :target: https://pypi.org/project/pymediainfo
+        
+        .. image:: https://img.shields.io/pypi/implementation/pymediainfo.svg
+          :target: https://pypi.org/project/pymediainfo
+        
+        .. image:: 
https://api.travis-ci.org/sbraz/pymediainfo.svg?branch=master
+          :target: https://travis-ci.org/sbraz/pymediainfo
+        
+        .. image:: 
https://ci.appveyor.com/api/projects/status/g15a2daem1oub57n/branch/master?svg=true
+          :target: https://ci.appveyor.com/project/sbraz/pymediainfo
+        
+        
+        This small package is a wrapper around the MediaInfo library.
+        
+        It works on Linux, Mac OS X and Windows and is tested with Python 2.6, 
2.7, 3.4, 3.5, 3.6, PyPy and PyPy3.
+        
+        See https://pymediainfo.readthedocs.io/ for more information.
+        
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Programming Language :: Python :: 2.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-2.2.0/README.rst 
new/pymediainfo-2.3.0/README.rst
--- old/pymediainfo-2.2.0/README.rst    2017-11-08 00:10:07.000000000 +0100
+++ new/pymediainfo-2.3.0/README.rst    2018-05-14 16:15:08.000000000 +0200
@@ -13,9 +13,12 @@
 .. image:: https://api.travis-ci.org/sbraz/pymediainfo.svg?branch=master
   :target: https://travis-ci.org/sbraz/pymediainfo
 
+.. image:: 
https://ci.appveyor.com/api/projects/status/g15a2daem1oub57n/branch/master?svg=true
+  :target: https://ci.appveyor.com/project/sbraz/pymediainfo
 
-This small package is a wrapper around the MediaInfo library. It works on
-Linux, Mac OS X and Windows.
-It is tested on Python 2.6, 2.7, 3.4, 3.5, 3.6, PyPy and PyPy3.
+
+This small package is a wrapper around the MediaInfo library.
+
+It works on Linux, Mac OS X and Windows and is tested with Python 2.6, 2.7, 
3.4, 3.5, 3.6, PyPy and PyPy3.
 
 See https://pymediainfo.readthedocs.io/ for more information.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-2.2.0/appveyor.yml 
new/pymediainfo-2.3.0/appveyor.yml
--- old/pymediainfo-2.2.0/appveyor.yml  1970-01-01 01:00:00.000000000 +0100
+++ new/pymediainfo-2.3.0/appveyor.yml  2018-05-14 16:15:08.000000000 +0200
@@ -0,0 +1,26 @@
+environment:
+  matrix:
+    - PYTHON: "C:/Python27"
+    - PYTHON: "C:/Python34"
+    - PYTHON: "C:/Python35"
+    - PYTHON: "C:/Python36"
+    - PYTHON: "C:/Python27-x64"
+    - PYTHON: "C:/Python34-x64"
+    - PYTHON: "C:/Python35-x64"
+    - PYTHON: "C:/Python36-x64"
+install:
+    - "SET PATH=%PYTHON%;%PYTHON%/Scripts;%PATH%"
+    - "python --version"
+    - "IF %PYTHON:~-4% == -x64 (SET ARCH=x64) ELSE (SET ARCH=i386)"
+    - ps: "Start-FileDownload 
https://mediaarea.net/download/binary/mediainfo/18.05/MediaInfo_CLI_18.05_Windows_${Env:ARCH}.zip";
+    - ps: "unzip -o MediaInfo_CLI_18.05_Windows_${Env:ARCH}.zip"
+    - ps: "Start-FileDownload 
https://mediaarea.net/download/binary/libmediainfo0/18.05/MediaInfo_DLL_18.05_Windows_${Env:ARCH}_WithoutInstaller.7z";
+    - ps: "7z -y x MediaInfo_DLL_18.05_Windows_${Env:ARCH}_WithoutInstaller.7z"
+    - "pip install pytest"
+    # see https://phabricator.wikimedia.org/T186991
+    # and 
https://github.com/wikimedia/pywikibot/commit/c503a9bb225933066f2b9f40b061b0279c7f6ad3
+    - "IF %PYTHON:~0,11% == C:/Python34 (pip install pytest-runner==3.0) ELSE 
(pip install pytest-runner)"
+build_script:
+  - "python setup.py build"
+test_script:
+  - "python setup.py test"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-2.2.0/demo.py 
new/pymediainfo-2.3.0/demo.py
--- old/pymediainfo-2.2.0/demo.py       1970-01-01 01:00:00.000000000 +0100
+++ new/pymediainfo-2.3.0/demo.py       2018-05-14 16:15:08.000000000 +0200
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+# encoding: utf-8
+
+"""
+a demo that shows how to call pymediainfo
+"""
+
+from __future__ import (absolute_import, division,
+                        print_function, unicode_literals)
+
+import sys
+from pprint import pprint
+
+from pymediainfo import MediaInfo
+
+
+def print_frame(text):
+    print("+-{}-+".format("-" * len(text)))
+    print("| {} |".format(text))
+    print("+-{}-+".format("-" * len(text)))
+
+
+def process(fname):
+    media_info = MediaInfo.parse(fname)
+    for track in media_info.tracks:
+        print_frame(track.track_type)
+        pprint(track.to_data())
+    #
+    print()
+    for track in media_info.tracks:
+        if track.track_type == 'General' and track.duration:
+            print("Duration: {} sec.".format(track.duration / 1000.0))
+
+##############################################################################
+
+if __name__ == "__main__":
+    if len(sys.argv) == 1:
+        print("Usage: {} <media_file>".format(sys.argv[0]))
+        sys.exit(0)
+    if sys.version_info.major < 3:
+        process(sys.argv[1].decode(sys.getfilesystemencoding()))
+    else:
+        process(sys.argv[1])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-2.2.0/pymediainfo/__init__.py 
new/pymediainfo-2.3.0/pymediainfo/__init__.py
--- old/pymediainfo-2.2.0/pymediainfo/__init__.py       2017-11-08 
00:10:07.000000000 +0100
+++ new/pymediainfo-2.3.0/pymediainfo/__init__.py       2018-05-14 
16:15:08.000000000 +0200
@@ -3,7 +3,7 @@
 import locale
 import json
 import sys
-from pkg_resources import get_distribution
+from pkg_resources import get_distribution, DistributionNotFound
 import xml.etree.ElementTree as ET
 from ctypes import *
 
@@ -17,7 +17,10 @@
 else:
     import urllib.parse as urlparse
 
-__version__ = get_distribution("pymediainfo").version
+try:
+    __version__ = get_distribution("pymediainfo").version
+except DistributionNotFound:
+    pass
 
 class Track(object):
     """
@@ -135,11 +138,14 @@
             return None
     @staticmethod
     def _get_library(library_file=None):
+        os_is_nt = os.name in ("nt", "dos", "os2", "ce")
         if library_file is not None:
-            return CDLL(library_file)
-        elif os.name in ("nt", "dos", "os2", "ce"):
-            if library_file is None:
-                return windll.MediaInfo
+            if os_is_nt:
+                return WinDLL(library_file)
+            else:
+                return CDLL(library_file)
+        elif os_is_nt:
+            return windll.MediaInfo
         elif sys.platform == "darwin":
             try:
                 return CDLL("libmediainfo.0.dylib")
@@ -160,7 +166,7 @@
         except:
             return False
     @classmethod
-    def parse(cls, filename, library_file=None):
+    def parse(cls, filename, library_file=None, cover_data=False):
         """
         Analyze a media file using libmediainfo.
         If libmediainfo is located in a non-standard location, the 
`library_file` parameter can be used:
@@ -170,6 +176,7 @@
 
         :param filename: path to the media file which will be analyzed.
         :param str library_file: path to the libmediainfo library, this should 
only be used if the library cannot be auto-detected.
+        :param bool cover_data: whether to retrieve cover data as base64.
         :type filename: str or pathlib.Path
         :rtype: MediaInfo
         """
@@ -199,12 +206,16 @@
         lib.MediaInfo_Close.restype = None
         # Obtain the library version
         lib_version = lib.MediaInfo_Option(None, "Info_Version", "")
-        lib_version = [int(_) for _ in re.search("^MediaInfoLib - v(\S+)", 
lib_version).group(1).split(".")]
+        lib_version = tuple(int(_) for _ in re.search("^MediaInfoLib - 
v(\S+)", lib_version).group(1).split("."))
         # The XML option was renamed starting with version 17.10
-        if lib_version >= [17, 10]:
+        if lib_version >= (17, 10):
             xml_option = "OLDXML"
         else:
             xml_option = "XML"
+        # Cover_Data is not extracted by default since version 18.03
+        # See 
https://github.com/MediaArea/MediaInfoLib/commit/d8fd88a1c282d1c09388c55ee0b46029e7330690
+        if cover_data and lib_version >= (18, 3):
+            lib.MediaInfo_Option(None, "Cover_Data", "base64")
         # Create a MediaInfo handle
         handle = lib.MediaInfo_New()
         lib.MediaInfo_Option(handle, "CharSet", "UTF-8")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-2.2.0/pymediainfo.egg-info/PKG-INFO 
new/pymediainfo-2.3.0/pymediainfo.egg-info/PKG-INFO
--- old/pymediainfo-2.2.0/pymediainfo.egg-info/PKG-INFO 2017-11-08 
00:10:33.000000000 +0100
+++ new/pymediainfo-2.3.0/pymediainfo.egg-info/PKG-INFO 2018-05-14 
16:15:37.000000000 +0200
@@ -1,12 +1,36 @@
 Metadata-Version: 1.1
 Name: pymediainfo
-Version: 2.2.0
+Version: 2.3.0
 Summary: A Python wrapper for the mediainfo library.
 Home-page: https://github.com/sbraz/pymediainfo
 Author: Louis Sautier
 Author-email: [email protected]
 License: MIT
-Description: UNKNOWN
+Description: pymediainfo
+        -----------
+        
+        .. image:: https://img.shields.io/pypi/v/pymediainfo.svg
+          :target: https://pypi.org/project/pymediainfo
+        
+        .. image:: https://img.shields.io/pypi/pyversions/pymediainfo.svg
+          :target: https://pypi.org/project/pymediainfo
+        
+        .. image:: https://img.shields.io/pypi/implementation/pymediainfo.svg
+          :target: https://pypi.org/project/pymediainfo
+        
+        .. image:: 
https://api.travis-ci.org/sbraz/pymediainfo.svg?branch=master
+          :target: https://travis-ci.org/sbraz/pymediainfo
+        
+        .. image:: 
https://ci.appveyor.com/api/projects/status/g15a2daem1oub57n/branch/master?svg=true
+          :target: https://ci.appveyor.com/project/sbraz/pymediainfo
+        
+        
+        This small package is a wrapper around the MediaInfo library.
+        
+        It works on Linux, Mac OS X and Windows and is tested with Python 2.6, 
2.7, 3.4, 3.5, 3.6, PyPy and PyPy3.
+        
+        See https://pymediainfo.readthedocs.io/ for more information.
+        
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Programming Language :: Python :: 2.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-2.2.0/pymediainfo.egg-info/SOURCES.txt 
new/pymediainfo-2.3.0/pymediainfo.egg-info/SOURCES.txt
--- old/pymediainfo-2.2.0/pymediainfo.egg-info/SOURCES.txt      2017-11-08 
00:10:33.000000000 +0100
+++ new/pymediainfo-2.3.0/pymediainfo.egg-info/SOURCES.txt      2018-05-14 
16:15:37.000000000 +0200
@@ -1,4 +1,8 @@
+AUTHORS
+LICENSE
 README.rst
+appveyor.yml
+demo.py
 setup.cfg
 setup.py
 docs/Makefile
@@ -12,10 +16,12 @@
 pymediainfo.egg-info/dependency_links.txt
 pymediainfo.egg-info/namespace_packages.txt
 pymediainfo.egg-info/not-zip-safe
+pymediainfo.egg-info/requires.txt
 pymediainfo.egg-info/top_level.txt
 tests/test_pymediainfo.py
 tests/data/accentué.txt
 tests/data/invalid.xml
 tests/data/sample.mkv
 tests/data/sample.mp4
-tests/data/sample.xml
\ No newline at end of file
+tests/data/sample.xml
+tests/data/sample_with_cover.mp3
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-2.2.0/pymediainfo.egg-info/requires.txt 
new/pymediainfo-2.3.0/pymediainfo.egg-info/requires.txt
--- old/pymediainfo-2.2.0/pymediainfo.egg-info/requires.txt     1970-01-01 
01:00:00.000000000 +0100
+++ new/pymediainfo-2.3.0/pymediainfo.egg-info/requires.txt     2018-05-14 
16:15:37.000000000 +0200
@@ -0,0 +1 @@
+setuptools
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-2.2.0/setup.py 
new/pymediainfo-2.3.0/setup.py
--- old/pymediainfo-2.2.0/setup.py      2017-11-08 00:10:07.000000000 +0100
+++ new/pymediainfo-2.3.0/setup.py      2018-05-14 16:15:08.000000000 +0200
@@ -1,17 +1,24 @@
+#!/usr/bin/env python
 from setuptools import setup, find_packages
 
+with open("README.rst") as f:
+    long_description = f.read()
+
 setup(
     name='pymediainfo',
-    version='2.2.0',
     author='Louis Sautier',
     author_email='[email protected]',
     url='https://github.com/sbraz/pymediainfo',
     description="""A Python wrapper for the mediainfo library.""",
+    long_description=long_description,
     packages=find_packages(),
     namespace_packages=[],
     include_package_data=True,
     zip_safe=False,
     license='MIT',
+    use_scm_version=True,
+    setup_requires=["setuptools_scm"],
+    install_requires=["setuptools"],
     tests_require=["pytest", "pytest-runner"],
     classifiers=[
         "Development Status :: 5 - Production/Stable",
Binary files old/pymediainfo-2.2.0/tests/data/sample_with_cover.mp3 and 
new/pymediainfo-2.3.0/tests/data/sample_with_cover.mp3 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-2.2.0/tests/test_pymediainfo.py 
new/pymediainfo-2.3.0/tests/test_pymediainfo.py
--- old/pymediainfo-2.2.0/tests/test_pymediainfo.py     2017-11-08 
00:10:07.000000000 +0100
+++ new/pymediainfo-2.3.0/tests/test_pymediainfo.py     2018-05-14 
16:15:08.000000000 +0200
@@ -95,3 +95,16 @@
     def test_parse_pathlib_path(self):
         mi = MediaInfo.parse(self.path)
         self.assertEqual(len(mi.tracks), 3)
+
+class MediaInfoCoverDataTest(unittest.TestCase):
+    def setUp(self):
+        self.mi = MediaInfo.parse(
+                os.path.join(data_dir, "sample_with_cover.mp3"),
+                cover_data=True
+        )
+    def test_parse_cover_data(self):
+        self.assertEqual(
+                self.mi.tracks[0].cover_data,
+                
"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACXBIWXMAAAAAAA"
+                
"AAAQCEeRdzAAAADUlEQVR4nGP4x8DwHwAE/AH+QSRCQgAAAABJRU5ErkJggg=="
+        )


Reply via email to