Hello community,

here is the log from the commit of package python-exiv2 for openSUSE:Factory 
checked in at 2019-07-04 15:43:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-exiv2 (Old)
 and      /work/SRC/openSUSE:Factory/.python-exiv2.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-exiv2"

Thu Jul  4 15:43:00 2019 rev:5 rq:713077 version:0.7.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-exiv2/python-exiv2.changes        
2019-04-23 14:35:23.725444879 +0200
+++ /work/SRC/openSUSE:Factory/.python-exiv2.new.4615/python-exiv2.changes      
2019-07-04 15:43:01.598086256 +0200
@@ -1,0 +2,6 @@
+Tue Jul  2 14:47:21 UTC 2019 - Tomáš Chvátal <tchva...@suse.com>
+
+- Update to 0.7.1:
+  * Various fixes to work with new exiv releases
+
+-------------------------------------------------------------------

Old:
----
  py3exiv2-0.6.1.tar.gz

New:
----
  py3exiv2-0.7.1.tar.gz

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

Other differences:
------------------
++++++ python-exiv2.spec ++++++
--- /var/tmp/diff_new_pack.d6CFe7/_old  2019-07-04 15:43:02.582087794 +0200
+++ /var/tmp/diff_new_pack.d6CFe7/_new  2019-07-04 15:43:02.582087794 +0200
@@ -20,7 +20,7 @@
 # This is a python3 only package
 %define         skip_python2 1
 Name:           python-exiv2
-Version:        0.6.1
+Version:        0.7.1
 Release:        0
 Summary:        Python3 bindings for the exiv2 library
 License:        GPL-3.0-only

++++++ py3exiv2-0.6.1.tar.gz -> py3exiv2-0.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/DESCRIPTION.rst 
new/py3exiv2-0.7.1/DESCRIPTION.rst
--- old/py3exiv2-0.6.1/DESCRIPTION.rst  2019-02-06 15:38:28.000000000 +0100
+++ new/py3exiv2-0.7.1/DESCRIPTION.rst  2015-02-04 14:56:25.000000000 +0100
@@ -9,8 +9,6 @@
 
 python3-exiv2 is distributed under the GPL version 3 license.
 
-[![Downloads](https://pepy.tech/badge/py3exiv2)](https://pepy.tech/project/py3exiv2)
-
 The main content of the code was initially written by Olivier Tilloy for 
Python 2 under the name pyexiv2.
 
 py3exiv2 depends on the following libraries:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/PKG-INFO new/py3exiv2-0.7.1/PKG-INFO
--- old/py3exiv2-0.6.1/PKG-INFO 2019-02-06 20:33:41.000000000 +0100
+++ new/py3exiv2-0.7.1/PKG-INFO 2019-05-29 12:22:12.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: py3exiv2
-Version: 0.6.1
+Version: 0.7.1
 Summary: A Python3 binding to the library exiv2
 Home-page: https://launchpad.net/py3exiv2
 Author: Vincent Vande Vyvre
@@ -17,8 +17,6 @@
         
         python3-exiv2 is distributed under the GPL version 3 license.
         
-        
[![Downloads](https://pepy.tech/badge/py3exiv2)](https://pepy.tech/project/py3exiv2)
-        
         The main content of the code was initially written by Olivier Tilloy 
for Python 2 under the name pyexiv2.
         
         py3exiv2 depends on the following libraries:
@@ -46,3 +44,4 @@
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/README new/py3exiv2-0.7.1/README
--- old/py3exiv2-0.6.1/README   2018-05-15 11:11:47.000000000 +0200
+++ new/py3exiv2-0.7.1/README   2019-04-13 10:44:33.000000000 +0200
@@ -1,5 +1,5 @@
 py3exiv2
-********
+*******
 
 Welcome to py3exiv2, a python 3 binding to exiv2 (http://exiv2.org/), the C++
 library for manipulation of EXIF, IPTC and XMP image metadata.
@@ -16,13 +16,17 @@
 
 py3exiv2 depends on the following libraries:
 
- * python (≥ 3.2)
+ * python (≥ 3.3)
  * boost.python3 (http://www.boost.org/libs/python/doc/index.html)
  * exiv2 (http://www.exiv2.org/)
 
+Some examples in src/ use PyGTK (http://www.pygtk.org/) and PyQt
+(http://www.riverbankcomputing.co.uk/software/pyqt/) to display image previews,
+those are optional dependencies.
+
 This is a typical list of build dependencies for a Debian/Ubuntu system:
 
- * python-all-dev (≥ 3.2)
+ * python-all-dev (≥ 3.3)
  * libexiv2-dev (≥ 0.20)
  * libboost-python-dev (≥ 1.48)
  * g++
@@ -72,7 +76,7 @@
 =======
 
 Copyright (C) 2006-2011 Olivier Tilloy <oliv...@tilloy.net>
-Copyright (C) 2015-2018 Vincent Vande Vyvre <vincent.vandevy...@oqapy.eu>
+Copyright (C) 2015-2019 Vincent Vande Vyvre <vincent.vandevy...@oqapy.eu>
 
 py3exiv2 is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License version 3 as published by the Free
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/setup.py new/py3exiv2-0.7.1/setup.py
--- old/py3exiv2-0.6.1/setup.py 2019-02-06 20:31:14.000000000 +0100
+++ new/py3exiv2-0.7.1/setup.py 2019-05-28 10:13:30.000000000 +0200
@@ -1,10 +1,14 @@
 #!/usr/bin/python3
 # -*- coding: utf-8 -*-
 
+# Replacement setup.py for py3exiv2, that allows building on OSX
+# https://gist.github.com/ndevenish/6410cab393bd8dec1b016061ddb5573b
+
 import sys
 import os
 import glob
 import subprocess
+import platform
 
 from setuptools import setup, find_packages, Extension
 
@@ -17,33 +21,28 @@
 with open(path.join(here, 'DESCRIPTION.rst'), encoding='utf-8') as f:
     long_description = f.read()
 
-def get_libboost_name():
-    """Returns the name of the lib libboost_python 3
-
-    """
-    # libboost libs are provided without .pc files, so we can't use pkg-config
-    places = ('/usr/lib/', '/usr/local/lib/', '/usr/')
+def get_libboost_osx():
+    places = ["/usr/local/lib/"]
     for place in places:
-        cmd = ['find', place, '-name', 'libboost_python*']
-        rep = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0]
-        if not rep:
-            continue
-
-        # rep is type bytes
-        libs = rep.decode(sys.getfilesystemencoding()).split('\n')
-        for l in libs:
-            _, l = os.path.split(l)
-            if '.so' in l:
-                l = l.split('.so')[0]
-                # Assume there's no longer python2.3 in the wild
-                if '3' in l[-2:]:
-                    return l.replace('libboost', 'boost')
+        lib = place + "libboost_python3*.dylib"
+        files = glob.glob(lib)
+        for f in files:
+            if not "-mt" in f:
+                return os.path.basename(f).replace("lib", "").split(".")[0]
+            
+        print("NOT FOUND", files)
+        sys.exit()
+    
+if platform.system() == "Darwin":
+    boostlib = get_libboost_osx()
+    print(boostlib)
 
-libboost = get_libboost_name()
+else:
+    boostlib = 'boost_python3'
 
 setup(
     name='py3exiv2',
-    version='0.6.1',
+    version='0.7.1',
     description='A Python3 binding to the library exiv2',
     long_description=long_description,
     url='https://launchpad.net/py3exiv2',
@@ -63,18 +62,17 @@
         'Programming Language :: Python :: 3.5',
         'Programming Language :: Python :: 3.6',
         'Programming Language :: Python :: 3.7',
+        'Programming Language :: Python :: 3.8'
     ],
     keywords='exiv2 pyexiv2 EXIF IPTC XMP image metadata',
     packages = find_packages('src'),
     package_dir = {'': 'src'},
     package_data={'':['src/*.cpp', 'src/*.hpp',]},
-    #cmdclass={'install': install}
+    #cmdclass={'install': install},
     ext_modules=[
     Extension('libexiv2python',
         ['src/exiv2wrapper.cpp', 'src/exiv2wrapper_python.cpp'],
-        include_dirs=[],
-        library_dirs=[],
-        libraries=[libboost, 'exiv2'],
+        libraries=[boostlib, 'exiv2'],
         extra_compile_args=['-g']
         )
     ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/src/exiv2wrapper.cpp 
new/py3exiv2-0.7.1/src/exiv2wrapper.cpp
--- old/py3exiv2-0.6.1/src/exiv2wrapper.cpp     2019-02-05 09:28:36.000000000 
+0100
+++ new/py3exiv2-0.7.1/src/exiv2wrapper.cpp     2019-04-13 09:28:07.000000000 
+0200
@@ -1835,6 +1835,42 @@
 }
 #endif
 
+bool initialiseXmpParser()
+{
+    if (!Exiv2::XmpParser::initialize())
+        return false;
+
+    std::string prefix("py3exiv2");
+    std::string name("www.py3exiv2.tuxfamily.org/");
+
+    try
+    {
+        const std::string& ns = Exiv2::XmpProperties::ns(prefix);
+    }
+
+    catch (Exiv2::Error& error)
+    {
+        // No namespace exists with the requested prefix, it is safe to
+        // register a new one.
+        Exiv2::XmpProperties::registerNs(name, prefix);
+    }
+
+    return true;
+}
+
+bool closeXmpParser()
+{
+    std::string name("www.py3exiv2.tuxfamily.org/");
+    const std::string& prefix = Exiv2::XmpProperties::prefix(name);
+    if (prefix != "")
+    {
+        Exiv2::XmpProperties::unregisterNs(name);
+    }
+
+    Exiv2::XmpParser::terminate();
+
+    return true;
+}
 
 void registerXmpNs(const std::string& name, const std::string& prefix)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/src/exiv2wrapper.hpp 
new/py3exiv2-0.7.1/src/exiv2wrapper.hpp
--- old/py3exiv2-0.6.1/src/exiv2wrapper.hpp     2019-02-06 20:30:31.000000000 
+0100
+++ new/py3exiv2-0.7.1/src/exiv2wrapper.hpp     2019-05-29 12:11:36.000000000 
+0200
@@ -29,8 +29,7 @@
 
 #include <string>
 
-#include "exiv2/image.hpp"
-#include "exiv2/preview.hpp"
+#include "exiv2/exiv2.hpp"
 
 #include "boost/python.hpp"
 
@@ -285,6 +284,8 @@
 
 
 // Functions to manipulate custom XMP namespaces
+bool initialiseXmpParser();
+bool closeXmpParser();
 void registerXmpNs(const std::string& name, const std::string& prefix);
 void unregisterXmpNs(const std::string& name);
 void unregisterAllXmpNs();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/src/exiv2wrapper_python.cpp 
new/py3exiv2-0.7.1/src/exiv2wrapper_python.cpp
--- old/py3exiv2-0.6.1/src/exiv2wrapper_python.cpp      2019-02-05 
09:41:52.000000000 +0100
+++ new/py3exiv2-0.7.1/src/exiv2wrapper_python.cpp      2019-05-28 
10:09:33.000000000 +0200
@@ -24,6 +24,8 @@
  */
 // 
*****************************************************************************
 
+#include<iostream>
+
 #include "exiv2wrapper.hpp"
 
 #include "exiv2/exv_conf.h"
@@ -157,6 +159,8 @@
         .def("_getIptcCharset", &Image::getIptcCharset)
     ;
 
+    def("_initialiseXmpParser", initialiseXmpParser);
+    def("_closeXmpParser", closeXmpParser);
     def("_registerXmpNs", registerXmpNs, args("name", "prefix"));
     def("_unregisterXmpNs", unregisterXmpNs, args("name"));
     def("_unregisterAllXmpNs", unregisterAllXmpNs);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/src/py3exiv2.egg-info/PKG-INFO 
new/py3exiv2-0.7.1/src/py3exiv2.egg-info/PKG-INFO
--- old/py3exiv2-0.6.1/src/py3exiv2.egg-info/PKG-INFO   2019-02-06 
20:33:41.000000000 +0100
+++ new/py3exiv2-0.7.1/src/py3exiv2.egg-info/PKG-INFO   2019-05-29 
12:22:11.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: py3exiv2
-Version: 0.6.1
+Version: 0.7.1
 Summary: A Python3 binding to the library exiv2
 Home-page: https://launchpad.net/py3exiv2
 Author: Vincent Vande Vyvre
@@ -17,8 +17,6 @@
         
         python3-exiv2 is distributed under the GPL version 3 license.
         
-        
[![Downloads](https://pepy.tech/badge/py3exiv2)](https://pepy.tech/project/py3exiv2)
-        
         The main content of the code was initially written by Olivier Tilloy 
for Python 2 under the name pyexiv2.
         
         py3exiv2 depends on the following libraries:
@@ -46,3 +44,4 @@
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/src/py3exiv2.egg-info/SOURCES.txt 
new/py3exiv2-0.7.1/src/py3exiv2.egg-info/SOURCES.txt
--- old/py3exiv2-0.6.1/src/py3exiv2.egg-info/SOURCES.txt        2019-02-06 
20:33:41.000000000 +0100
+++ new/py3exiv2-0.7.1/src/py3exiv2.egg-info/SOURCES.txt        2019-05-29 
12:22:11.000000000 +0200
@@ -1,7 +1,6 @@
 DESCRIPTION.rst
 MANIFEST.in
 README
-setup.cfg
 setup.py
 src/exiv2wrapper.cpp
 src/exiv2wrapper.hpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/src/pyexiv2/__init__.py 
new/py3exiv2-0.7.1/src/pyexiv2/__init__.py
--- old/py3exiv2-0.6.1/src/pyexiv2/__init__.py  2018-07-09 11:16:56.000000000 
+0200
+++ new/py3exiv2-0.7.1/src/pyexiv2/__init__.py  2019-05-28 10:17:32.000000000 
+0200
@@ -3,7 +3,7 @@
 # 
******************************************************************************
 #
 # Copyright (C) 2006-2011 Olivier Tilloy <oliv...@tilloy.net>
-# Copyright (C) 2015-2018 Vincent Vande Vyvre <vincent.vandevy...@oqapy.eu>
+# Copyright (C) 2015-2019 Vincent Vande Vyvre <vincent.vandevy...@oqapy.eu>
 #
 # This file is part of the py3exiv2 distribution.
 #
@@ -75,7 +75,7 @@
 
 
 #: A tuple containing the three components of the version number: major, 
minor, micro.
-version_info = (0, 4, 0)
+version_info = (0, 7, 1)
 
 #: The version of the module as a string (major.minor.micro).
 __version__ = _make_version(version_info)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/src/pyexiv2/exif.py 
new/py3exiv2-0.7.1/src/pyexiv2/exif.py
--- old/py3exiv2-0.6.1/src/pyexiv2/exif.py      2018-02-02 14:19:27.000000000 
+0100
+++ new/py3exiv2-0.7.1/src/pyexiv2/exif.py      2019-01-30 08:40:36.000000000 
+0100
@@ -3,7 +3,7 @@
 # 
******************************************************************************
 #
 # Copyright (C) 2006-2011 Olivier Tilloy <oliv...@tilloy.net>
-# Copyright (C) 2015-2018 Vincent Vande Vyvre <vincent.vandevy...@oqapy.eu>
+# Copyright (C) 2015-2019 Vincent Vande Vyvre <vincent.vandevy...@oqapy.eu>
 #
 # This file is part of the py3exiv2 distribution.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/src/pyexiv2/iptc.py 
new/py3exiv2-0.7.1/src/pyexiv2/iptc.py
--- old/py3exiv2-0.6.1/src/pyexiv2/iptc.py      2018-02-02 14:29:01.000000000 
+0100
+++ new/py3exiv2-0.7.1/src/pyexiv2/iptc.py      2019-01-30 08:40:55.000000000 
+0100
@@ -3,7 +3,7 @@
 # 
******************************************************************************
 #
 # Copyright (C) 2006-2011 Olivier Tilloy <oliv...@tilloy.net>
-# Copyright (C) 2015-2018 Vincent Vande Vyvre <vincent.vandevy...@oqapy.eu>
+# Copyright (C) 2015-2019 Vincent Vande Vyvre <vincent.vandevy...@oqapy.eu>
 #
 # This file is part of the py3exiv2 distribution.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/src/pyexiv2/utils.py 
new/py3exiv2-0.7.1/src/pyexiv2/utils.py
--- old/py3exiv2-0.6.1/src/pyexiv2/utils.py     2018-02-02 15:26:42.000000000 
+0100
+++ new/py3exiv2-0.7.1/src/pyexiv2/utils.py     2019-01-30 08:42:17.000000000 
+0100
@@ -3,7 +3,7 @@
 # 
******************************************************************************
 #
 # Copyright (C) 2006-2012 Olivier Tilloy <oliv...@tilloy.net>
-# Copyright (C) 2015-2018 Vincent Vande Vyvre <vincent.vandevy...@oqapy.eu>
+# Copyright (C) 2015-2019 Vincent Vande Vyvre <vincent.vandevy...@oqapy.eu>
 #
 # This file is part of the py3exiv2 distribution.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/py3exiv2-0.6.1/src/pyexiv2/xmp.py 
new/py3exiv2-0.7.1/src/pyexiv2/xmp.py
--- old/py3exiv2-0.6.1/src/pyexiv2/xmp.py       2018-05-15 08:52:04.000000000 
+0200
+++ new/py3exiv2-0.7.1/src/pyexiv2/xmp.py       2019-04-25 06:07:43.000000000 
+0200
@@ -3,7 +3,7 @@
 # 
******************************************************************************
 #
 # Copyright (C) 2006-2011 Olivier Tilloy <oliv...@tilloy.net>
-# Copyright (C) 2015-2018 Vincent Vande Vyvre <vincent.vandevy...@oqapy.eu>
+# Copyright (C) 2015-2019 Vincent Vande Vyvre <vincent.vandevy...@oqapy.eu>
 #
 # This file is part of the py3exiv2 distribution.
 #
@@ -522,6 +522,33 @@
         self._tag = libexiv2python._XmpTag(key)
         self.raw_value = raw_value
 
+def initialiseXmpParser():
+    """Initialise the xmp parser.
+
+    Calling this method is usually not needed, as encode() and decode() will 
+    initialize the XMP Toolkit if necessary.
+
+    The function takes optional pointers to a callback function xmpLockFct and 
+    related data pLockData that the parser uses when XMP namespaces are 
+    subsequently registered.
+
+    This function itself still is not thread-safe and needs to be 
+    called in a thread-safe manner (e.g., on program startup), but if used 
with 
+    suitable additional locking parameters, any subsequent registration of 
+    namespaces will be thread-safe.
+    """
+    libexiv2python._initialiseXmpParser()
+
+def closeXmpParser():
+    """Close the xmp parser.
+
+    Terminate the XMP Toolkit and unregister custom namespaces.
+
+    Call this method when the XmpParser is no longer needed to allow the XMP 
+    Toolkit to cleanly shutdown. 
+    """
+    libexiv2python._closeXmpParser()
+
 
 def register_namespace(name, prefix):
     """Register a custom XMP namespace.
@@ -539,6 +566,8 @@
     Raise ValueError: if the name doesn’t end with a ``/``
     Raise KeyError: if a namespace already exist with this prefix
     """
+    # How to set the type of tag 'XmpAlt', 'XmpBag', 'XmpSeq'
+    # See: https://www.exiv2.org/doc/xmpsample_8cpp-example.html#a18
     if not name.endswith('/'):
         raise ValueError('Name should end with a /')
 


Reply via email to