commit python-exiv2 for openSUSE:Factory
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 <tchvatal@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 <olivier@tilloy.net> -Copyright (C) 2015-2018 Vincent Vande Vyvre <vincent.vandevyvre@oqapy.eu> +Copyright (C) 2015-2019 Vincent Vande Vyvre <vincent.vandevyvre@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 <olivier@tilloy.net> -# Copyright (C) 2015-2018 Vincent Vande Vyvre <vincent.vandevyvre@oqapy.eu> +# Copyright (C) 2015-2019 Vincent Vande Vyvre <vincent.vandevyvre@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 <olivier@tilloy.net> -# Copyright (C) 2015-2018 Vincent Vande Vyvre <vincent.vandevyvre@oqapy.eu> +# Copyright (C) 2015-2019 Vincent Vande Vyvre <vincent.vandevyvre@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 <olivier@tilloy.net> -# Copyright (C) 2015-2018 Vincent Vande Vyvre <vincent.vandevyvre@oqapy.eu> +# Copyright (C) 2015-2019 Vincent Vande Vyvre <vincent.vandevyvre@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 <olivier@tilloy.net> -# Copyright (C) 2015-2018 Vincent Vande Vyvre <vincent.vandevyvre@oqapy.eu> +# Copyright (C) 2015-2019 Vincent Vande Vyvre <vincent.vandevyvre@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 <olivier@tilloy.net> -# Copyright (C) 2015-2018 Vincent Vande Vyvre <vincent.vandevyvre@oqapy.eu> +# Copyright (C) 2015-2019 Vincent Vande Vyvre <vincent.vandevyvre@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 /')
participants (1)
-
root