Script 'mail_helper' called by obssrc
Hello community,

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

Package is "python-pymediainfo"

Sat Dec  3 10:03:39 2022 rev:13 rq:1039617 version:6.0.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pymediainfo/python-pymediainfo.changes    
2021-05-02 18:39:22.444114827 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pymediainfo.new.1835/python-pymediainfo.changes
  2022-12-03 10:03:52.515319891 +0100
@@ -1,0 +2,16 @@
+Fri Dec  2 16:03:09 UTC 2022 - Luigi Baldoni <aloi...@gmx.com>
+
+- Update to version 6.0.1
+  * doc: improve description of parse()'s full parameter
+  version 6.0.0
+  Breaking changes:
+  * warning Drop support for Python 3.6
+  New features:
+  * Add support for Python 3.10 and 3.11
+  * tests: start a local HTTP server instead of relying on
+    GitHub, this means the test suite can now run without
+    Internet access
+  Bug fixes:
+  * Fix doc build with recent sphinx versions
+
+-------------------------------------------------------------------

Old:
----
  pymediainfo-5.1.0.tar.gz

New:
----
  pymediainfo-6.0.1.tar.gz

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

Other differences:
------------------
++++++ python-pymediainfo.spec ++++++
--- /var/tmp/diff_new_pack.zBTweF/_old  2022-12-03 10:03:53.023322714 +0100
+++ /var/tmp/diff_new_pack.zBTweF/_new  2022-12-03 10:03:53.031322758 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pymediainfo
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %define skip_python2 1
 Name:           python-pymediainfo
-Version:        5.1.0
+Version:        6.0.1
 Release:        0
 Summary:        Python wrapper for the mediainfo library
 License:        MIT
@@ -51,12 +51,12 @@
 %python_expand %fdupes -s %{buildroot}%{$python_sitelib}
 
 %check
-export LANG=en_US.UTF-8
-%pytest -k 'not test_parse_url and not test_thread_safety'
+%pytest
 
 %files %{python_files}
 %doc README.rst
 %license LICENSE
-%{python_sitelib}/*
+%{python_sitelib}/pymediainfo
+%{python_sitelib}/pymediainfo-%{version}-py%{python_version}.egg-info
 
 %changelog

++++++ pymediainfo-5.1.0.tar.gz -> pymediainfo-6.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-5.1.0/PKG-INFO 
new/pymediainfo-6.0.1/PKG-INFO
--- old/pymediainfo-5.1.0/PKG-INFO      2021-05-02 00:11:44.578204400 +0200
+++ new/pymediainfo-6.0.1/PKG-INFO      2022-11-26 00:28:43.272776800 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pymediainfo
-Version: 5.1.0
+Version: 6.0.1
 Summary: A Python wrapper for the mediainfo library.
 Home-page: https://github.com/sbraz/pymediainfo
 Author: Louis Sautier
@@ -8,40 +8,12 @@
 License: MIT
 Project-URL: Documentation, https://pymediainfo.readthedocs.io/
 Project-URL: Bugs, https://github.com/sbraz/pymediainfo/issues
-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://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
-        
-        .. image:: https://travis-ci.com/sbraz/pymediainfo.svg?branch=master
-          :target: https://travis-ci.com/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 3.6, 
3.7, 3.8, 3.9 and PyPy3.
-        
-        See https://pymediainfo.readthedocs.io/ for more information.
-        
-Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
-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 :: 3.11
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -49,5 +21,32 @@
 Classifier: Operating System :: MacOS :: MacOS X
 Classifier: Operating System :: Microsoft :: Windows
 Classifier: License :: OSI Approved :: MIT License
-Requires-Python: >=3.6
+Requires-Python: >=3.7
 Description-Content-Type: text/x-rst; charset=UTF-8
+License-File: LICENSE
+License-File: AUTHORS
+
+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://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
+
+.. 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 3.7 to 3.11 
and PyPy3.
+
+See https://pymediainfo.readthedocs.io/ for more information.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-5.1.0/README.rst 
new/pymediainfo-6.0.1/README.rst
--- old/pymediainfo-5.1.0/README.rst    2021-05-02 00:11:29.000000000 +0200
+++ new/pymediainfo-6.0.1/README.rst    2022-11-26 00:27:03.000000000 +0100
@@ -13,15 +13,12 @@
 .. image:: https://img.shields.io/pypi/implementation/pymediainfo.svg
   :target: https://pypi.org/project/pymediainfo
 
-.. image:: https://travis-ci.com/sbraz/pymediainfo.svg?branch=master
-  :target: https://travis-ci.com/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 3.6, 3.7, 
3.8, 3.9 and PyPy3.
+It works on Linux, Mac OS X and Windows and is tested with Python 3.7 to 3.11 
and PyPy3.
 
 See https://pymediainfo.readthedocs.io/ for more information.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-5.1.0/appveyor.yml 
new/pymediainfo-6.0.1/appveyor.yml
--- old/pymediainfo-5.1.0/appveyor.yml  2021-05-02 00:11:29.000000000 +0200
+++ new/pymediainfo-6.0.1/appveyor.yml  2022-11-26 00:27:03.000000000 +0100
@@ -1,30 +1,78 @@
-image:
-  # Currently required to support Python 3.9
-  - Visual Studio 2019
 environment:
+  LINUX_IMAGE: &linux_image Ubuntu2004
+  MACOS_IMAGE: &macos_image macos-catalina
+  WINDOWS_IMAGE: &windows_image Visual Studio 2022
+  LIBZEN_VERSION: 0.4.39
+  MEDIAINFO_VERSION: 22.09
+  UBUNTU_VERSION: 20.04
+  QA_PYTHON_VERSION: 3.11
+  # AppVeyor doesn't offer Python 3.11 on macOS yet
+  # https://github.com/appveyor/ci/issues/3858
+  DEPLOY_TOXENV: py310
+  PYPY_URL: https://downloads.python.org/pypy/pypy3.9-v7.3.9-linux64.tar.bz2
   # Work around https://github.com/tox-dev/tox/issues/1550
   PYTHONIOENCODING: utf-8
-  MEDIAINFO_VERSION: 21.03
+  TOX_PARALLEL_NO_SPINNER: 1
+  TWINE_USERNAME: "__token__"
   TWINE_PASSWORD:
-    secure: /EO8CxTxhQVNsGNZZvU51jjHwPW524rgddNlwOAyLoA=
+    secure: 
Jp2QpmAii1mmAXmotdXmPx5q679oMcRolziuu9m2pawkvOnRJtWMsI4uWiTiSbiw+HMbyyWwVpy+FiaPsHZxtM863PNNJidW1WDam4kn8EM+rznjgZfO9NSCcwZJU5jcTYCwuXo3+FnVNK5rvQ8QJ+Zu6WzH1Ysb+uJSz8e6xt7d7hoZbb9VH5bJC7tYrw+bH+TfA9juVpIYfCavozLLTDLqTcvPfJ+LXMPbiZO+oOztNsLRsviH2QAPXaLspXvCr6qUVH3A84KCdfSXCOZG0g/eYUZ6ilMLESe7DrYZrRc=
   matrix:
-    - PYTHON: "C:/Python36"
-      TOXENV: py36
-    - PYTHON: "C:/Python37"
-      TOXENV: py37
-    - PYTHON: "C:/Python38"
-      TOXENV: py38
-    - PYTHON: "C:/Python39"
-      TOXENV: py39
-    - PYTHON: "C:/Python36-x64"
-      TOXENV: py36
-    - PYTHON: "C:/Python37-x64"
-      TOXENV: py37
-    - PYTHON: "C:/Python38-x64"
-      TOXENV: py38
-    - PYTHON: "C:/Python39-x64"
-      TOXENV: py39
-install:
+    - TOXENV: docs,black,flake8,isort,mypy,pylint
+      APPVEYOR_BUILD_WORKER_IMAGE: *linux_image
+    - TOXENV: pypy3
+      APPVEYOR_BUILD_WORKER_IMAGE: *linux_image
+    - TOXENV: py37
+      APPVEYOR_BUILD_WORKER_IMAGE: *linux_image
+    - TOXENV: py38
+      APPVEYOR_BUILD_WORKER_IMAGE: *linux_image
+    - TOXENV: py39
+      APPVEYOR_BUILD_WORKER_IMAGE: *linux_image
+    - TOXENV: py310
+      APPVEYOR_BUILD_WORKER_IMAGE: *linux_image
+    - TOXENV: py311
+      APPVEYOR_BUILD_WORKER_IMAGE: *linux_image
+    - TOXENV: py38
+      APPVEYOR_BUILD_WORKER_IMAGE: *macos_image
+    - TOXENV: py39
+      APPVEYOR_BUILD_WORKER_IMAGE: *macos_image
+    - TOXENV: py310
+      APPVEYOR_BUILD_WORKER_IMAGE: *macos_image
+    - TOXENV: py37
+      PYTHON: "C:/Python37"
+      APPVEYOR_BUILD_WORKER_IMAGE: *windows_image
+    - TOXENV: py37
+      PYTHON: "C:/Python37-x64"
+      APPVEYOR_BUILD_WORKER_IMAGE: *windows_image
+    - TOXENV: py38
+      PYTHON: "C:/Python38"
+      APPVEYOR_BUILD_WORKER_IMAGE: *windows_image
+    - TOXENV: py38
+      PYTHON: "C:/Python38-x64"
+      APPVEYOR_BUILD_WORKER_IMAGE: *windows_image
+    - TOXENV: py39
+      PYTHON: "C:/Python39"
+      APPVEYOR_BUILD_WORKER_IMAGE: *windows_image
+    - TOXENV: py39
+      PYTHON: "C:/Python39-x64"
+      APPVEYOR_BUILD_WORKER_IMAGE: *windows_image
+    - TOXENV: py310
+      PYTHON: "C:/Python310"
+      APPVEYOR_BUILD_WORKER_IMAGE: *windows_image
+    - TOXENV: py310
+      PYTHON: "C:/Python310-x64"
+      APPVEYOR_BUILD_WORKER_IMAGE: *windows_image
+    - TOXENV: py311
+      PYTHON: "C:/Python311"
+      APPVEYOR_BUILD_WORKER_IMAGE: *windows_image
+    - TOXENV: py311
+      PYTHON: "C:/Python311-x64"
+      APPVEYOR_BUILD_WORKER_IMAGE: *windows_image
+for:
+-
+  matrix:
+    only:
+    - APPVEYOR_BUILD_WORKER_IMAGE: *windows_image
+  install:
     - "SET PATH=%PYTHON%;%PYTHON%/Scripts;%PATH%"
     - "python --version"
     - "IF %PYTHON:~-4% == -x64 (SET ARCH=x64) ELSE (SET ARCH=i386)"
@@ -36,10 +84,86 @@
     - ps: "Copy-Item -Path MediaInfo.dll -Destination ${Env:PYTHON}"
     - "move MediaInfo.dll pymediainfo"
     - "move Developers\\License.html docs"
-    - "pip install --upgrade setuptools tox twine wheel"
-build_script:
-  - "python setup.py bdist_wheel"
-test_script:
-  - "tox"
-deploy_script:
-  - ps: If ($env:APPVEYOR_REPO_TAG -eq "true") { Invoke-Expression "twine 
upload --skip-existing -u sbraz dist/*.whl" }
+    - "pip install tox"
+  build: off
+  test_script:
+    - "tox"
+  deploy_script:
+    - ps: |
+        If (($env:APPVEYOR_REPO_TAG -eq "true") -and ($env:TOXENV -eq 
$env:DEPLOY_TOXENV)) {
+          pip install twine wheel
+          python setup.py bdist_wheel
+          Invoke-Expression "twine upload --skip-existing dist/*.whl"
+        }
+-
+  matrix:
+    only:
+      - APPVEYOR_BUILD_WORKER_IMAGE: *macos_image
+  install: |
+    set -eo pipefail
+    PYTHON_VERSION="$(sed -E 's/^py(3)(.*)$/\1.\2/' <<< "$TOXENV")"
+    source "${HOME}/venv${PYTHON_VERSION}/bin/activate"
+    pip install tox
+    curl 
https://mediaarea.net/download/binary/libmediainfo0/${MEDIAINFO_VERSION}/MediaInfo_DLL_${MEDIAINFO_VERSION}_Mac_x86_64+arm64.tar.bz2
 \
+      | tar xj MediaInfoLib/libmediainfo.0.dylib MediaInfoLib/License.html
+    # Required for tests to pass with tox
+    cp MediaInfoLib/libmediainfo.0.dylib /usr/local/lib/
+  build: off
+  test_script:
+    - "tox"
+  deploy_script: |
+    set -eo pipefail
+    if [[ $APPVEYOR_REPO_TAG == "true" && $TOXENV == $DEPLOY_TOXENV ]]; then
+      mv MediaInfoLib/libmediainfo.0.dylib pymediainfo
+      mv MediaInfoLib/License.html docs
+      pip install twine wheel
+      python setup.py bdist_wheel
+      twine upload --skip-existing dist/*.whl
+    fi
+-
+  matrix:
+    only:
+      - APPVEYOR_BUILD_WORKER_IMAGE: *linux_image
+  install: |
+    set -eo pipefail
+    if [[ $TOXENV =~ doc.* ]]; then
+      source "${HOME}/venv${QA_PYTHON_VERSION}/bin/activate"
+      pip install tox
+    else
+      if [[ $TOXENV == pypy3 ]]; then
+        pushd /tmp
+        curl -sS "$PYPY_URL" | tar xj
+        PATH="$(pwd)/pypy3.9-v7.3.9-linux64/bin/:$PATH"
+        python -m ensurepip
+        popd
+      else
+        PYTHON_VERSION="$(sed -E 's/^py(3)(.*)$/\1.\2/' <<< "$TOXENV")"
+        source "${HOME}/venv${PYTHON_VERSION}/bin/activate"
+      fi
+      # "python -m pip" will work with the unpacked PyPy too, "pip" won't
+      python -m pip install tox
+      pushd /tmp
+      
libzen_deb=libzen0v5_${LIBZEN_VERSION}-1_amd64.xUbuntu_${UBUNTU_VERSION}.deb
+      
mediainfo_deb=libmediainfo0v5_${MEDIAINFO_VERSION}-1_amd64.xUbuntu_${UBUNTU_VERSION}.deb
+      curl -O 
"https://mediaarea.net/download/binary/libzen0/${LIBZEN_VERSION}/${libzen_deb}";
+      curl -O 
"https://mediaarea.net/download/binary/libmediainfo0/${MEDIAINFO_VERSION}/${mediainfo_deb}";
+      sudo apt-get -y install libmms0
+      sudo dpkg -i "${libzen_deb}" "${mediainfo_deb}"
+      popd
+    fi
+  build: off
+  test_script: |
+    if [[ $TOXENV =~ doc.* ]]; then
+      tox -p
+    else
+      # We want to see the progression of the tests so we can't run
+      # tox environments in parallel
+      tox
+    fi
+  deploy_script: |
+    set -eo pipefail
+    if [[ $APPVEYOR_REPO_TAG == "true" && $TOXENV == $DEPLOY_TOXENV ]]; then
+      pip install twine
+      python setup.py sdist
+      twine upload --skip-existing dist/*.gz
+    fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-5.1.0/docs/conf.py 
new/pymediainfo-6.0.1/docs/conf.py
--- old/pymediainfo-5.1.0/docs/conf.py  2021-05-02 00:11:29.000000000 +0200
+++ new/pymediainfo-6.0.1/docs/conf.py  2022-11-26 00:27:03.000000000 +0100
@@ -80,7 +80,7 @@
 #
 # This is also used if you do content translation via gettext catalogs.
 # Usually you set "language" from the command line for these cases.
-language = None
+language = "en"
 
 # There are two options for replacing |today|: either, you set today to some
 # non-false value, then it is used:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-5.1.0/pylintrc 
new/pymediainfo-6.0.1/pylintrc
--- old/pymediainfo-5.1.0/pylintrc      2021-05-02 00:11:29.000000000 +0200
+++ new/pymediainfo-6.0.1/pylintrc      2022-11-26 00:27:03.000000000 +0100
@@ -60,85 +60,7 @@
 # --enable=similarities". If you want to run only the classes checker, but have
 # no Warning level messages displayed, use "--disable=all --enable=classes
 # --disable=W".
-disable=print-statement,
-        parameter-unpacking,
-        unpacking-in-except,
-        old-raise-syntax,
-        backtick,
-        long-suffix,
-        old-ne-operator,
-        old-octal-literal,
-        import-star-module-level,
-        non-ascii-bytes-literal,
-        raw-checker-failed,
-        bad-inline-option,
-        locally-disabled,
-        file-ignored,
-        suppressed-message,
-        useless-suppression,
-        deprecated-pragma,
-        use-symbolic-message-instead,
-        apply-builtin,
-        basestring-builtin,
-        buffer-builtin,
-        cmp-builtin,
-        coerce-builtin,
-        execfile-builtin,
-        file-builtin,
-        long-builtin,
-        raw_input-builtin,
-        reduce-builtin,
-        standarderror-builtin,
-        unicode-builtin,
-        xrange-builtin,
-        coerce-method,
-        delslice-method,
-        getslice-method,
-        setslice-method,
-        no-absolute-import,
-        old-division,
-        dict-iter-method,
-        dict-view-method,
-        next-method-called,
-        metaclass-assignment,
-        indexing-exception,
-        raising-string,
-        reload-builtin,
-        oct-method,
-        hex-method,
-        nonzero-method,
-        cmp-method,
-        input-builtin,
-        round-builtin,
-        intern-builtin,
-        unichr-builtin,
-        map-builtin-not-iterating,
-        zip-builtin-not-iterating,
-        range-builtin-not-iterating,
-        filter-builtin-not-iterating,
-        using-cmp-argument,
-        eq-without-hash,
-        div-method,
-        idiv-method,
-        rdiv-method,
-        exception-message-attribute,
-        invalid-str-codec,
-        sys-max-int,
-        bad-python3-import,
-        deprecated-string-function,
-        deprecated-str-translate-call,
-        deprecated-itertools-function,
-        deprecated-types-field,
-        next-method-defined,
-        dict-items-not-iterating,
-        dict-keys-not-iterating,
-        dict-values-not-iterating,
-        deprecated-operator-function,
-        deprecated-urllib-function,
-        xreadlines-attribute,
-        deprecated-sys-function,
-        exception-escape,
-        comprehension-escape
+disable=consider-using-f-string
 
 # Enable the message, report, category or checker with the given id(s). You can
 # either give multiple identifier separated by comma (,) or put this option
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-5.1.0/pymediainfo/__init__.py 
new/pymediainfo-6.0.1/pymediainfo/__init__.py
--- old/pymediainfo-5.1.0/pymediainfo/__init__.py       2021-05-02 
00:11:29.000000000 +0200
+++ new/pymediainfo-6.0.1/pymediainfo/__init__.py       2022-11-26 
00:27:03.000000000 +0100
@@ -386,7 +386,7 @@
             A higher value will yield more precise results in some cases
             but will also increase parsing time.
         :param bool full: display additional tags, including computer-readable 
values
-            for sizes and durations.
+            for sizes and durations, corresponds to the CLI's 
``--Full``/``-f`` parameter.
         :param bool legacy_stream_display: display additional information 
about streams.
         :param dict mediainfo_options: additional options that will be passed 
to the
             `MediaInfo_Option` function, for example: ``{"Language": "raw"}``.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-5.1.0/pymediainfo.egg-info/PKG-INFO 
new/pymediainfo-6.0.1/pymediainfo.egg-info/PKG-INFO
--- old/pymediainfo-5.1.0/pymediainfo.egg-info/PKG-INFO 2021-05-02 
00:11:44.000000000 +0200
+++ new/pymediainfo-6.0.1/pymediainfo.egg-info/PKG-INFO 2022-11-26 
00:28:42.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pymediainfo
-Version: 5.1.0
+Version: 6.0.1
 Summary: A Python wrapper for the mediainfo library.
 Home-page: https://github.com/sbraz/pymediainfo
 Author: Louis Sautier
@@ -8,40 +8,12 @@
 License: MIT
 Project-URL: Documentation, https://pymediainfo.readthedocs.io/
 Project-URL: Bugs, https://github.com/sbraz/pymediainfo/issues
-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://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
-        
-        .. image:: https://travis-ci.com/sbraz/pymediainfo.svg?branch=master
-          :target: https://travis-ci.com/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 3.6, 
3.7, 3.8, 3.9 and PyPy3.
-        
-        See https://pymediainfo.readthedocs.io/ for more information.
-        
-Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
-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 :: 3.11
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -49,5 +21,32 @@
 Classifier: Operating System :: MacOS :: MacOS X
 Classifier: Operating System :: Microsoft :: Windows
 Classifier: License :: OSI Approved :: MIT License
-Requires-Python: >=3.6
+Requires-Python: >=3.7
 Description-Content-Type: text/x-rst; charset=UTF-8
+License-File: LICENSE
+License-File: AUTHORS
+
+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://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
+
+.. 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 3.7 to 3.11 
and PyPy3.
+
+See https://pymediainfo.readthedocs.io/ for more information.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-5.1.0/setup.cfg 
new/pymediainfo-6.0.1/setup.cfg
--- old/pymediainfo-5.1.0/setup.cfg     2021-05-02 00:11:44.578204400 +0200
+++ new/pymediainfo-6.0.1/setup.cfg     2022-11-26 00:28:43.272776800 +0100
@@ -15,7 +15,6 @@
 
 [tool:pytest]
 addopts = -vv -r a
-markers = internet: tests that require Internet access
 
 [bdist_wheel]
 universal = 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-5.1.0/setup.py 
new/pymediainfo-6.0.1/setup.py
--- old/pymediainfo-5.1.0/setup.py      2021-05-02 00:11:29.000000000 +0200
+++ new/pymediainfo-6.0.1/setup.py      2022-11-26 00:27:03.000000000 +0100
@@ -50,17 +50,18 @@
     license='MIT',
     data_files=data_files,
     use_scm_version=True,
-    python_requires=">=3.6",
+    python_requires=">=3.7",
     setup_requires=["setuptools_scm"],
     install_requires=["importlib_metadata; python_version < '3.8'"],
     package_data={'pymediainfo': bin_files},
     cmdclass=cmdclass,
     classifiers=[
         "Development Status :: 5 - Production/Stable",
-        "Programming Language :: Python :: 3.6",
         "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",
         "Programming Language :: Python :: 3.9",
+        "Programming Language :: Python :: 3.10",
+        "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3 :: Only",
         "Programming Language :: Python :: Implementation :: CPython",
         "Programming Language :: Python :: Implementation :: PyPy",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-5.1.0/tests/test_pymediainfo.py 
new/pymediainfo-6.0.1/tests/test_pymediainfo.py
--- old/pymediainfo-5.1.0/tests/test_pymediainfo.py     2021-05-02 
00:11:29.000000000 +0200
+++ new/pymediainfo-6.0.1/tests/test_pymediainfo.py     2022-11-26 
00:27:03.000000000 +0100
@@ -1,10 +1,13 @@
 # pylint: disable=missing-module-docstring, missing-class-docstring, 
missing-function-docstring,
 # pylint: disable=protected-access
 
+import functools
+import http.server
 import json
 import os
 import pathlib
 import pickle
+import sys
 import tempfile
 import threading
 import unittest
@@ -34,7 +37,7 @@
 
 class MediaInfoTest(unittest.TestCase):
     def setUp(self):
-        with open(os.path.join(data_dir, "sample.xml"), "r") as f:
+        with open(os.path.join(data_dir, "sample.xml"), "r", encoding="utf-8") 
as f:
             self.xml_data = f.read()
         self.media_info = MediaInfo(self.xml_data)
 
@@ -67,7 +70,7 @@
         )
 
     def test_track_existing_other_attributes(self):
-        with open(os.path.join(data_dir, "issue100.xml")) as f:
+        with open(os.path.join(data_dir, "issue100.xml"), encoding="utf-8") as 
f:
             media_info = MediaInfo(f.read())
         general_tracks = [track for track in media_info.tracks if 
track.track_type == "General"]
         general_track = general_tracks[0]
@@ -82,7 +85,7 @@
 
 class MediaInfoInvalidXMLTest(unittest.TestCase):
     def setUp(self):
-        with open(os.path.join(data_dir, "invalid.xml"), "r") as f:
+        with open(os.path.join(data_dir, "invalid.xml"), "r", 
encoding="utf-8") as f:
             self.xml_data = f.read()
 
     def test_parse_invalid_xml(self):
@@ -114,7 +117,7 @@
         self.assertEqual(self.media_info.tracks[0].footersize, "59")
         self.assertEqual(self.non_full_mi.tracks[0].footersize, None)
 
-    def test_raises_on_nonexistent_library(self):  # pylint: 
disable=no-self-use
+    def test_raises_on_nonexistent_library(self):
         with tempfile.TemporaryDirectory() as tmp_dir:
             nonexistent_library = os.path.join(tmp_dir, 
"nonexistent-libmediainfo.so")
             with pytest.raises(OSError) as exc:
@@ -125,16 +128,16 @@
 
 
 class MediaInfoFileLikeTest(unittest.TestCase):
-    def test_can_parse(self):  # pylint: disable=no-self-use
+    def test_can_parse(self):
         with open(os.path.join(data_dir, "sample.mp4"), "rb") as f:
             MediaInfo.parse(f)
 
     def test_raises_on_text_mode_even_with_text(self):
-        with open(os.path.join(data_dir, "sample.xml")) as f:
+        with open(os.path.join(data_dir, "sample.xml"), encoding="utf-8") as f:
             self.assertRaises(ValueError, MediaInfo.parse, f)
 
     def test_raises_on_text_mode(self):
-        with open(os.path.join(data_dir, "sample.mkv")) as f:
+        with open(os.path.join(data_dir, "sample.mkv"), encoding="utf-8") as f:
             self.assertRaises(ValueError, MediaInfo.parse, f)
 
 
@@ -159,14 +162,29 @@
         self.assertEqual(len(self.media_info.tracks), 1)
 
 
-@pytest.mark.internet
+@pytest.mark.skipif(
+    sys.version_info < (3, 7),
+    reason="SimpleHTTPRequestHandler's 'directory' argument was added in 
Python 3.7",
+)
 class MediaInfoURLTest(unittest.TestCase):
     def setUp(self):
-        url = 
"https://github.com/sbraz/pymediainfo/raw/v5.0/tests/data/sample.mkv";
-        self.media_info = MediaInfo.parse(url)
+        HandlerClass = functools.partial(  # pylint: disable=invalid-name
+            http.server.SimpleHTTPRequestHandler,
+            directory=data_dir,
+        )
+        # Pick a random port so that parallel tests (e.g. via 'tox -p') do not 
clash
+        self.httpd = http.server.HTTPServer(("", 0), HandlerClass)
+        port = self.httpd.socket.getsockname()[1]
+        self.url = f"http://127.0.0.1:{port}/sample.mkv";
+        threading.Thread(target=self.httpd.serve_forever).start()
+
+    def tearDown(self):
+        self.httpd.shutdown()
+        self.httpd.server_close()
 
     def test_parse_url(self):
-        self.assertEqual(len(self.media_info.tracks), 3)
+        media_info = MediaInfo.parse(self.url)
+        self.assertEqual(len(media_info.tracks), 3)
 
 
 class MediaInfoPathlibTest(unittest.TestCase):
@@ -395,7 +413,7 @@
         self.mi_audio = MediaInfo.parse(os.path.join(data_dir, "sample.mp4"))
         self.mi_text = MediaInfo.parse(os.path.join(data_dir, "sample.mkv"))
         self.mi_image = MediaInfo.parse(os.path.join(data_dir, "empty.gif"))
-        with open(os.path.join(data_dir, "other_track.xml")) as f:
+        with open(os.path.join(data_dir, "other_track.xml"), encoding="utf-8") 
as f:
             self.mi_other = MediaInfo(f.read())
 
     def test_empty_list(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pymediainfo-5.1.0/tox.ini 
new/pymediainfo-6.0.1/tox.ini
--- old/pymediainfo-5.1.0/tox.ini       2021-05-02 00:11:29.000000000 +0200
+++ new/pymediainfo-6.0.1/tox.ini       2022-11-26 00:27:03.000000000 +0100
@@ -1,9 +1,10 @@
 [tox]
 envlist =
-  py36
   py37
   py38
   py39
+  py310
+  py311
   pypy3
   black
   flake8
@@ -39,8 +40,6 @@
 commands = isort --check pymediainfo tests
 
 [testenv:pylint]
-# TODO: remove constraint when this is fixed: 
https://github.com/PyCQA/pylint/issues/3882
-basepython = python3.8
 deps =
   pylint
   pytest

Reply via email to