Hello community,
here is the log from the commit of package python-pymediainfo for openSUSE:Factory checked in at 2019-04-23 14:36:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pymediainfo (Old)
and /work/SRC/openSUSE:Factory/.python-pymediainfo.new.5536 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pymediainfo"
Tue Apr 23 14:36:10 2019 rev:4 rq:696774 version:4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pymediainfo/python-pymediainfo.changes 2018-09-13 12:14:06.514118215 +0200
+++ /work/SRC/openSUSE:Factory/.python-pymediainfo.new.5536/python-pymediainfo.changes 2019-04-23 14:36:13.533479678 +0200
@@ -1,0 +2,29 @@
+Mon Apr 22 13:56:26 UTC 2019 - Luigi Baldoni
+
+- Update to version 4.0
+ * Drop Python 2.6 compatibility
+ * Allow pickling of Track instances (#68)
+ * Remove xml attributes from Track and MediaInfo objects,
+ populate the tracks attribute immediately (03f6242)
+ * Implement __eq__ forTrack and MediaInfo objects
+ * Add an option to obtain MediaInfo's text output (#66)
+ * Add an option to return non-complete MediaInfo (#66)
+ * Disable LegacyStreamDisplay explicitly by default, make it
+ configurable (see 9aa65d8 for details)
+ version 3.2.1:
+ * Generate sdists on Linux instead of OSX (#67)
+ version 3.2:
+ * Publish wheels containing libmediainfo (#59, thanks to
+ @bgermann)
+ version 3.1:
+ * Add an option to control parsing speed (#65)
+ version 3.0:
+ * Do not ignore exceptions when invalid XML is passed (#53)
+ * Raise RuntimeError if parsing fails
+ * Add an option to ignore UTF-8 encoding errors, fixes (#54)
+ * Use proper XPath to detect track elements in XML (#55)
+ * Fix handling of non-existent files
+ * Fix tests with libmediainfo ≥ 18.08 (#58)
+ * Try to load libmediainfo from the module folder
+
+-------------------------------------------------------------------
Old:
----
pymediainfo-2.3.0.tar.gz
New:
----
pymediainfo-4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pymediainfo.spec ++++++
--- /var/tmp/diff_new_pack.dXqGpK/_old 2019-04-23 14:36:14.057480027 +0200
+++ /var/tmp/diff_new_pack.dXqGpK/_new 2019-04-23 14:36:14.061480030 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pymediainfo
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 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
@@ -12,13 +12,13 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pymediainfo
-Version: 2.3.0
+Version: 4.0
Release: 0
Summary: Python wrapper for the mediainfo library
License: MIT
++++++ pymediainfo-2.3.0.tar.gz -> pymediainfo-4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymediainfo-2.3.0/PKG-INFO new/pymediainfo-4.0/PKG-INFO
--- old/pymediainfo-2.3.0/PKG-INFO 2018-05-14 16:15:37.000000000 +0200
+++ new/pymediainfo-4.0/PKG-INFO 2019-04-04 17:46:38.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pymediainfo
-Version: 2.3.0
+Version: 4.0
Summary: A Python wrapper for the mediainfo library.
Home-page: https://github.com/sbraz/pymediainfo
Author: Louis Sautier
@@ -15,6 +15,9 @@
.. image:: https://img.shields.io/pypi/pyversions/pymediainfo.svg
:target: https://pypi.org/project/pymediainfo
+ .. image:: https://repology.org/badge/tiny-repos/python:pymediainfo.svg
+ :target: https://repology.org/metapackage/python:pymediainfo
+
.. image:: https://img.shields.io/pypi/implementation/pymediainfo.svg
:target: https://pypi.org/project/pymediainfo
@@ -27,17 +30,17 @@
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.
+ It works on Linux, Mac OS X and Windows and is tested with Python 2.7, 3.4, 3.5, 3.6, 3.7, 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
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Operating System :: POSIX :: Linux
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymediainfo-2.3.0/README.rst new/pymediainfo-4.0/README.rst
--- old/pymediainfo-2.3.0/README.rst 2018-05-14 16:15:08.000000000 +0200
+++ new/pymediainfo-4.0/README.rst 2019-04-04 17:46:33.000000000 +0200
@@ -7,6 +7,9 @@
.. image:: https://img.shields.io/pypi/pyversions/pymediainfo.svg
:target: https://pypi.org/project/pymediainfo
+.. image:: https://repology.org/badge/tiny-repos/python:pymediainfo.svg
+ :target: https://repology.org/metapackage/python:pymediainfo
+
.. image:: https://img.shields.io/pypi/implementation/pymediainfo.svg
:target: https://pypi.org/project/pymediainfo
@@ -19,6 +22,6 @@
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.
+It works on Linux, Mac OS X and Windows and is tested with Python 2.7, 3.4, 3.5, 3.6, 3.7, PyPy and PyPy3.
See https://pymediainfo.readthedocs.io/ for more information.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymediainfo-2.3.0/appveyor.yml new/pymediainfo-4.0/appveyor.yml
--- old/pymediainfo-2.3.0/appveyor.yml 2018-05-14 16:15:08.000000000 +0200
+++ new/pymediainfo-4.0/appveyor.yml 2019-04-04 17:46:33.000000000 +0200
@@ -1,26 +1,32 @@
environment:
+ MEDIAINFO_VERSION: 18.12
+ TWINE_PASSWORD:
+ secure: /EO8CxTxhQVNsGNZZvU51jjHwPW524rgddNlwOAyLoA=
matrix:
- PYTHON: "C:/Python27"
- PYTHON: "C:/Python34"
- PYTHON: "C:/Python35"
- PYTHON: "C:/Python36"
+ - PYTHON: "C:/Python37"
- PYTHON: "C:/Python27-x64"
- PYTHON: "C:/Python34-x64"
- PYTHON: "C:/Python35-x64"
- PYTHON: "C:/Python36-x64"
+ - PYTHON: "C:/Python37-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/c503a9bb225933066f2b9f40b061b0...
- - "IF %PYTHON:~0,11% == C:/Python34 (pip install pytest-runner==3.0) ELSE (pip install pytest-runner)"
+ - ps: "Start-FileDownload https://mediaarea.net/download/binary/mediainfo/${Env:MEDIAINFO_VERSION}/MediaInfo_CLI_${Env:MEDIAINFO_VERSION}_Windows_${Env:ARCH}.zip"
+ - ps: "unzip -o MediaInfo_CLI_${Env:MEDIAINFO_VERSION}_Windows_${Env:ARCH}.zip LIBCURL.DLL"
+ - ps: "Start-FileDownload https://mediaarea.net/download/binary/libmediainfo0/${Env:MEDIAINFO_VERSION}/MediaInfo_DLL_${Env:MEDIAINFO_VERSION}_Windows_${Env:ARCH}_WithoutInstaller.7z"
+ - ps: "7z -y x MediaInfo_DLL_${Env:MEDIAINFO_VERSION}_Windows_${Env:ARCH}_WithoutInstaller.7z MediaInfo.dll Developers/License.html"
+ - "move MediaInfo.dll pymediainfo"
+ - "move Developers\\License.html docs"
+ - "pip install --upgrade setuptools pytest pytest-runner twine wheel"
build_script:
- - "python setup.py build"
+ - "python setup.py bdist_wheel"
test_script:
- "python setup.py test"
+deploy_script:
+ - ps: If ($env:APPVEYOR_REPO_TAG -eq "true") { Invoke-Expression "twine upload --skip-existing -u sbraz dist/*" }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymediainfo-2.3.0/docs/conf.py new/pymediainfo-4.0/docs/conf.py
--- old/pymediainfo-2.3.0/docs/conf.py 2018-05-14 16:15:08.000000000 +0200
+++ new/pymediainfo-4.0/docs/conf.py 2019-04-04 17:46:33.000000000 +0200
@@ -113,7 +113,10 @@
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
-#html_theme_options = {}
+html_theme_options = {
+ "page_width": "auto",
+ "fixed_sidebar": True
+}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymediainfo-2.3.0/docs/index.rst new/pymediainfo-4.0/docs/index.rst
--- old/pymediainfo-2.3.0/docs/index.rst 2018-05-14 16:15:08.000000000 +0200
+++ new/pymediainfo-4.0/docs/index.rst 2019-04-04 17:46:33.000000000 +0200
@@ -15,6 +15,10 @@
This is a simple wrapper around the MediaInfo library, which you can find
at https://mediaarea.net/en/MediaInfo
+Binary wheels containing the library are provided for Windows and Mac OS X.
+
+Packages are available for `several Linux distributions https://repology.org/metapackage/python:pymediainfo`_.
+
===============
Using MediaInfo
===============
@@ -28,7 +32,7 @@
media_info = MediaInfo.parse('my_video_file.mov')
for track in media_info.tracks:
if track.track_type == 'Video':
- print track.bit_rate, track.bit_rate_mode, track.codec
+ print(track.bit_rate, track.bit_rate_mode, track.codec)
# output: 46033920 CBR DV
@@ -56,12 +60,14 @@
media_info = MediaInfo.parse('my_video_file.mov')
for track in media_info.tracks:
if track.bit_rate is not None:
- print "%s: %s" % (track.track_type, track.bit_rate)
+ print("{}: {}".format(track.track_type, track.bit_rate))
else:
- print """%s tracks do not have bit rate
- associated with them.""" % track.track_type
+ print("""{} tracks do not have bit rate
+ associated with them.""".format(track.track_type))
+
+Output:
-Output::
+.. code-block:: text
General tracks do not have bit rate associated with them.
Video: 46033920
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pymediainfo-2.3.0/pymediainfo/__init__.py new/pymediainfo-4.0/pymediainfo/__init__.py
--- old/pymediainfo-2.3.0/pymediainfo/__init__.py 2018-05-14 16:15:08.000000000 +0200
+++ new/pymediainfo-4.0/pymediainfo/__init__.py 2019-04-04 17:46:33.000000000 +0200
@@ -1,11 +1,12 @@
+# vim: set fileencoding=utf-8 :
import os
import re
import locale
import json
+import ctypes
import sys
from pkg_resources import get_distribution, DistributionNotFound
import xml.etree.ElementTree as ET
-from ctypes import *
try:
import pathlib
@@ -47,16 +48,21 @@
All available attributes can be obtained by calling :func:`to_data`.
"""
+ def __eq__(self, other):
+ return self.__dict__ == other.__dict__
def __getattribute__(self, name):
try:
return object.__getattribute__(self, name)
except:
pass
return None
+ def __getstate__(self):
+ return self.__dict__
+ def __setstate__(self, state):
+ self.__dict__ = state
def __init__(self, xml_dom_fragment):
- self.xml_dom_fragment = xml_dom_fragment
self.track_type = xml_dom_fragment.attrib['type']
- for el in self.xml_dom_fragment:
+ for el in xml_dom_fragment:
node_name = el.tag.lower().strip().strip('_')
if node_name == 'id':
node_name = 'track_id'
@@ -84,7 +90,7 @@
except:
pass
def __repr__(self):
- return("