openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
May 2019
- 1 participants
- 2232 discussions
Hello community,
here is the log from the commit of package python-python-barcode for openSUSE:Factory checked in at 2019-05-27 08:39:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-barcode (Old)
and /work/SRC/openSUSE:Factory/.python-python-barcode.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-barcode"
Mon May 27 08:39:14 2019 rev:3 rq:705390 version:0.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-python-barcode/python-python-barcode.changes 2019-05-06 13:21:16.808521536 +0200
+++ /work/SRC/openSUSE:Factory/.python-python-barcode.new.5148/python-python-barcode.changes 2019-05-27 08:39:29.819044974 +0200
@@ -1,0 +2,7 @@
+Sat May 25 09:01:04 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.10.0:
+ * Various minor fixes and tweaks
+ * CI integration fixes
+
+-------------------------------------------------------------------
Old:
----
python-barcode-0.9.0.tar.gz
New:
----
python-barcode-0.10.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-barcode.spec ++++++
--- /var/tmp/diff_new_pack.Ttx9hU/_old 2019-05-27 08:39:30.279044794 +0200
+++ /var/tmp/diff_new_pack.Ttx9hU/_new 2019-05-27 08:39:30.279044794 +0200
@@ -21,7 +21,7 @@
%define skip_python2 1
%define base_name python-barcode
Name: python-%{base_name}
-Version: 0.9.0
+Version: 0.10.0
Release: 0
Summary: Library to create Barcodes with Python
License: MIT
@@ -48,6 +48,8 @@
%setup -q -n %{base_name}-%{version}
# Fix rpmlint warning about too many +x perms when these files get installed later.
find . -type f -exec chmod a-x {} +
+# doc buildscripts we don't wanna ship
+rm docs/{Makefile,make.bat}
%build
%python_build
++++++ python-barcode-0.9.0.tar.gz -> python-barcode-0.10.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/.travis.yml new/python-barcode-0.10.0/.travis.yml
--- old/python-barcode-0.9.0/.travis.yml 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/.travis.yml 2019-05-24 10:41:57.000000000 +0200
@@ -4,7 +4,6 @@
python:
- 3.5
- 3.6
- - 3.7-dev
stages:
@@ -18,6 +17,10 @@
jobs:
include:
+ - stage: test
+ python: 3.7
+ dist: xenial
+ sudo: true
- stage: deploy
script:
- pip install wheel twine
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/PKG-INFO new/python-barcode-0.10.0/PKG-INFO
--- old/python-barcode-0.9.0/PKG-INFO 2018-06-14 18:50:08.000000000 +0200
+++ new/python-barcode-0.10.0/PKG-INFO 2019-05-24 10:42:11.000000000 +0200
@@ -1,22 +1,33 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: python-barcode
-Version: 0.9.0
-Summary: Create standard barcodes with Python. No external modules needed (optional PIL support included).
+Version: 0.10.0
+Summary: Create standard barcodes with Python. No external modules needed. (optional Pillow support included).
Home-page: https://github.com/WhyNotHugo/python-barcode
Author: Thorsten Weimann et al
Author-email: weimann.th(a)yahoo.com
License: MIT
-Description-Content-Type: UNKNOWN
Description: python-barcode
==============
- .. image:: example-ean13.png
- :target: https://github.com/WhyNotHugo/python-barcode
- :alt: python-barcode
+ .. image:: https://travis-ci.org/WhyNotHugo/python-barcode.svg?branch=master
+ :target: https://travis-ci.org/WhyNotHugo/python-barcode
+ :alt: build status
+
+ .. image:: https://img.shields.io/pypi/v/python-barcode.svg
+ :target: https://pypi.python.org/pypi/python-barcode
+ :alt: version on pypi
+
+ .. image:: https://img.shields.io/pypi/l/python-barcode.svg
+ :target: https://github.com/WhyNotHugo/python-barcode/blob/master/LICENCE
+ :alt: licence
This library provides a simple way to create barcodes using only the
Python standard lib. The barcodes are created as SVG objects.
+ .. image:: example-ean13.png
+ :target: https://github.com/WhyNotHugo/python-barcode
+ :alt: python-barcode
+
Please report any bugs at https://github.com/WhyNotHugo/python-barcode/issues
@@ -26,7 +37,7 @@
- Setuptools/distribute for installation.
- Python 3.5 or above
- Program to open SVG objects (your browser should do it)
- - Optional: PIL to render barcodes as images (PNG, JPG, ...)
+ - Optional: Pillow to render barcodes as images (PNG, JPG, ...)
Installation
@@ -67,37 +78,37 @@
>>> import barcode
>>> barcode.PROVIDED_BARCODES
- [u'code39', u'code128', u'ean', u'ean13', u'ean8', u'gs1', u'gtin',
- u'isbn', u'isbn10', u'isbn13', u'issn', u'jan', u'pzn', u'upc', u'upca']
+ ['code39', 'code128', 'ean', 'ean13', 'ean8', 'gs1', 'gtin',
+ 'isbn', 'isbn10', 'isbn13', 'issn', 'jan', 'pzn', 'upc', 'upca']
>>> EAN = barcode.get_barcode_class('ean13')
>>> EAN
<class 'barcode.ean.EuropeanArticleNumber13'>
- >>> ean = EAN(u'5901234123457')
+ >>> ean = EAN('5901234123457')
>>> ean
<barcode.ean.EuropeanArticleNumber13 object at 0x00BE98F0>
>>> fullname = ean.save('ean13_barcode')
>>> fullname
- u'ean13_barcode.svg'
+ 'ean13_barcode.svg'
# Example with PNG
>>> from barcode.writer import ImageWriter
- >>> ean = EAN(u'5901234123457', writer=ImageWriter())
+ >>> ean = EAN('5901234123457', writer=ImageWriter())
>>> fullname = ean.save('ean13_barcode')
- u'ean13_barcode.png'
+ 'ean13_barcode.png'
# New in v0.4.2
>>> from StringIO import StringIO
>>> fp = StringIO()
>>> ean.write(fp)
# or
>>> f = open('/my/new/file', 'wb')
- >>> ean.write(f) # PIL (ImageWriter) produces RAW format here
+ >>> ean.write(f) # Pillow (ImageWriter) produces RAW format here
# New in v0.5.0
>>> from barcode import generate
- >>> name = generate('EAN13', u'5901234123457', output='barcode_svg')
+ >>> name = generate('EAN13', '5901234123457', output='barcode_svg')
>>> name
- u'barcode_svg.svg'
+ 'barcode_svg.svg'
# with file like object
>>> fp = StringIO()
- >>> generate('EAN13', u'5901234123457', writer=ImageWriter(), output=fp)
+ >>> generate('EAN13', '5901234123457', writer=ImageWriter(), output=fp)
>>>
Now open ean13_barcode.[svg|png] in a graphic app or simply in your browser
@@ -105,16 +116,29 @@
Commandline::
- $ pybarcode create "My Text" outfile
+ $ python-barcode create "My Text" outfile
New barcode saved as outfile.svg.
- $ pybarcode create -t png "My Text" outfile
+ $ python-barcode create -t png "My Text" outfile
New barcode saved as outfile.png.
- Try `pybarcode -h` for help.
+ Try `python-barcode -h` for help.
Changelog
---------
+ v0.9.1
+ ~~~~~~
+
+ * Officially support Python 3.7
+ * Refer to Pillow in the docs, rather than PIL.
+
+ v0.9.0
+ ~~~~~~
+
+ * Removed buggy ``Barcode.raw`` attribute.
+ * Various CLI errors ironed out.
+ * Make the default value for ``writer_options``` consistent across writers.
+
v0.8.3
~~~~~~
@@ -228,5 +252,7 @@
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Provides-Extra: images
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/README.rst new/python-barcode-0.10.0/README.rst
--- old/python-barcode-0.9.0/README.rst 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/README.rst 2019-05-24 10:41:57.000000000 +0200
@@ -1,13 +1,25 @@
python-barcode
==============
-.. image:: example-ean13.png
- :target: https://github.com/WhyNotHugo/python-barcode
- :alt: python-barcode
+.. image:: https://travis-ci.org/WhyNotHugo/python-barcode.svg?branch=master
+ :target: https://travis-ci.org/WhyNotHugo/python-barcode
+ :alt: build status
+
+.. image:: https://img.shields.io/pypi/v/python-barcode.svg
+ :target: https://pypi.python.org/pypi/python-barcode
+ :alt: version on pypi
+
+.. image:: https://img.shields.io/pypi/l/python-barcode.svg
+ :target: https://github.com/WhyNotHugo/python-barcode/blob/master/LICENCE
+ :alt: licence
This library provides a simple way to create barcodes using only the
Python standard lib. The barcodes are created as SVG objects.
+.. image:: example-ean13.png
+ :target: https://github.com/WhyNotHugo/python-barcode
+ :alt: python-barcode
+
Please report any bugs at https://github.com/WhyNotHugo/python-barcode/issues
@@ -17,7 +29,7 @@
- Setuptools/distribute for installation.
- Python 3.5 or above
- Program to open SVG objects (your browser should do it)
-- Optional: PIL to render barcodes as images (PNG, JPG, ...)
+- Optional: Pillow to render barcodes as images (PNG, JPG, ...)
Installation
@@ -58,37 +70,37 @@
>>> import barcode
>>> barcode.PROVIDED_BARCODES
- [u'code39', u'code128', u'ean', u'ean13', u'ean8', u'gs1', u'gtin',
- u'isbn', u'isbn10', u'isbn13', u'issn', u'jan', u'pzn', u'upc', u'upca']
+ ['code39', 'code128', 'ean', 'ean13', 'ean8', 'gs1', 'gtin',
+ 'isbn', 'isbn10', 'isbn13', 'issn', 'jan', 'pzn', 'upc', 'upca']
>>> EAN = barcode.get_barcode_class('ean13')
>>> EAN
<class 'barcode.ean.EuropeanArticleNumber13'>
- >>> ean = EAN(u'5901234123457')
+ >>> ean = EAN('5901234123457')
>>> ean
<barcode.ean.EuropeanArticleNumber13 object at 0x00BE98F0>
>>> fullname = ean.save('ean13_barcode')
>>> fullname
- u'ean13_barcode.svg'
+ 'ean13_barcode.svg'
# Example with PNG
>>> from barcode.writer import ImageWriter
- >>> ean = EAN(u'5901234123457', writer=ImageWriter())
+ >>> ean = EAN('5901234123457', writer=ImageWriter())
>>> fullname = ean.save('ean13_barcode')
- u'ean13_barcode.png'
+ 'ean13_barcode.png'
# New in v0.4.2
>>> from StringIO import StringIO
>>> fp = StringIO()
>>> ean.write(fp)
# or
>>> f = open('/my/new/file', 'wb')
- >>> ean.write(f) # PIL (ImageWriter) produces RAW format here
+ >>> ean.write(f) # Pillow (ImageWriter) produces RAW format here
# New in v0.5.0
>>> from barcode import generate
- >>> name = generate('EAN13', u'5901234123457', output='barcode_svg')
+ >>> name = generate('EAN13', '5901234123457', output='barcode_svg')
>>> name
- u'barcode_svg.svg'
+ 'barcode_svg.svg'
# with file like object
>>> fp = StringIO()
- >>> generate('EAN13', u'5901234123457', writer=ImageWriter(), output=fp)
+ >>> generate('EAN13', '5901234123457', writer=ImageWriter(), output=fp)
>>>
Now open ean13_barcode.[svg|png] in a graphic app or simply in your browser
@@ -96,16 +108,29 @@
Commandline::
- $ pybarcode create "My Text" outfile
+ $ python-barcode create "My Text" outfile
New barcode saved as outfile.svg.
- $ pybarcode create -t png "My Text" outfile
+ $ python-barcode create -t png "My Text" outfile
New barcode saved as outfile.png.
- Try `pybarcode -h` for help.
+ Try `python-barcode -h` for help.
Changelog
---------
+v0.9.1
+~~~~~~
+
+* Officially support Python 3.7
+* Refer to Pillow in the docs, rather than PIL.
+
+v0.9.0
+~~~~~~
+
+* Removed buggy ``Barcode.raw`` attribute.
+* Various CLI errors ironed out.
+* Make the default value for ``writer_options``` consistent across writers.
+
v0.8.3
~~~~~~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/barcode/__init__.py new/python-barcode-0.10.0/barcode/__init__.py
--- old/python-barcode-0.9.0/barcode/__init__.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/barcode/__init__.py 2019-05-24 10:41:57.000000000 +0200
@@ -7,13 +7,12 @@
This package provides a simple way to create standard barcodes.
It needs no external packages to be installed, the barcodes are
-created as SVG objects. If PIL (Python Imaging Library) is
-installed, the barcodes can also be rendered as images (all
-formats supported by PIL).
+created as SVG objects. If Pillow is installed, the barcodes can also be
+rendered as images (all formats supported by Pillow).
"""
from barcode.errors import BarcodeNotFoundError
-from barcode.codex import Code39, PZN, Code128
+from barcode.codex import Code39, PZN, Code128, Gs1_128
from barcode.ean import EAN8, EAN13, EAN14, JAN
from barcode.isxn import ISBN10, ISBN13, ISSN
from barcode.upc import UPCA
@@ -44,20 +43,22 @@
pzn=PZN,
code128=Code128,
itf=ITF,
+ gs1_128=Gs1_128,
)
-PROVIDED_BARCODES = list(__BARCODE_MAP.keys())
+PROVIDED_BARCODES = list(__BARCODE_MAP)
PROVIDED_BARCODES.sort()
-def get(name, code=None, writer=None):
+def get(name, code=None, writer=None, options=None):
+ options = options or {}
try:
barcode = __BARCODE_MAP[name.lower()]
except KeyError:
raise BarcodeNotFoundError('The barcode {0!r} you requested is not '
'known.'.format(name))
if code is not None:
- return barcode(code, writer)
+ return barcode(code, writer, **options)
else:
return barcode
@@ -69,7 +70,7 @@
def generate(name, code, writer=None, output=None, writer_options=None,
text=None, pil=False):
options = writer_options or {}
- barcode = get(name, code, writer)
+ barcode = get(name, code, writer, options)
if pil:
return barcode.render(writer_options, text)
if isinstance(output, _strbase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/barcode/codex.py new/python-barcode-0.10.0/barcode/codex.py
--- old/python-barcode-0.9.0/barcode/codex.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/barcode/codex.py 2019-05-24 10:41:57.000000000 +0200
@@ -258,5 +258,25 @@
return Barcode.render(self, options, text)
+class Gs1_128(Code128):
+ """
+ following the norm, a gs1-128 barcode is a subset of code 128 barcode,
+ it can be generated by prepending the code with the FNC1 character
+ https://en.wikipedia.org/wiki/GS1-128
+ https://www.gs1-128.info/
+ """
+
+ name = 'GS1-128'
+
+ FNC1_CHAR = '\xf1'
+
+ def __init__(self, code, writer=None):
+ code = self.FNC1_CHAR + code
+ super(Gs1_128, self).__init__(code, writer)
+
+ def get_fullcode(self):
+ return super(Gs1_128, self).get_fullcode()[1:]
+
+
# For pre 0.8 compatibility
PZN = PZN7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/barcode/isxn.py new/python-barcode-0.10.0/barcode/isxn.py
--- old/python-barcode-0.9.0/barcode/isxn.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/barcode/isxn.py 2019-05-24 10:41:57.000000000 +0200
@@ -19,13 +19,13 @@
>>> ISBN = get_barcode('isbn10')
>>> isbn = ISBN('0132354187')
>>> unicode(isbn)
- u'0132354187'
+ '0132354187'
>>> isbn.get_fullcode()
- u'9780132354189'
+ '9780132354189'
>>> # Test with wrong checksum
>>> isbn = ISBN('0132354180')
>>> unicode(isbn)
- u'0132354187'
+ '0132354187'
"""
__docformat__ = 'restructuredtext en'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/barcode/pybarcode.py new/python-barcode-0.10.0/barcode/pybarcode.py
--- old/python-barcode-0.9.0/barcode/pybarcode.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/barcode/pybarcode.py 2019-05-24 10:41:57.000000000 +0200
@@ -33,9 +33,9 @@
print('Available image formats')
print('Standard: svg')
if ImageWriter is not None:
- print('PIL:', ', '.join(IMG_FORMATS))
+ print('Pillow:', ', '.join(IMG_FORMATS))
else:
- print('PIL: disabled')
+ print('Pillow: disabled')
print('\n')
@@ -68,7 +68,7 @@
msg = []
if ImageWriter is None:
msg.append(
- 'Image output disabled (PIL not found), --type option disabled.'
+ 'Image output disabled (Pillow not found), --type option disabled.'
)
else:
msg.append(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/barcode/version.py new/python-barcode-0.10.0/barcode/version.py
--- old/python-barcode-0.9.0/barcode/version.py 2018-06-14 18:50:08.000000000 +0200
+++ new/python-barcode-0.10.0/barcode/version.py 2019-05-24 10:42:11.000000000 +0200
@@ -1,4 +1,4 @@
# coding: utf-8
# file generated by setuptools_scm
# don't change, don't track in version control
-version = '0.9.0'
+version = '0.10.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/barcode/writer.py new/python-barcode-0.10.0/barcode/writer.py
--- old/python-barcode-0.9.0/barcode/writer.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/barcode/writer.py 2019-05-24 10:41:57.000000000 +0200
@@ -18,7 +18,7 @@
except ImportError:
import logging
log = logging.getLogger('pyBarcode')
- log.info('PIL not found. Image output disabled')
+ log.info('Pillow not found. Image output disabled')
Image = ImageDraw = ImageFont = None # lint:ok
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/docs/barcode.rst new/python-barcode-0.10.0/docs/barcode.rst
--- old/python-barcode-0.9.0/docs/barcode.rst 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/docs/barcode.rst 2019-05-24 10:41:57.000000000 +0200
@@ -1,9 +1,9 @@
Introduction
============
-This package was created to have barcodes available without having
-PIL_ (Python Imaging Library) installed. As of version 0.4b1 PIL
-is also supported for creating barcodes.
+This package was created to have barcodes available with pure-python.
+Pillow_ is required for exporting for exporting images (png, jpg), although not
+for SVGs.
All you need to create a barcode is to know the system (EAN, UPC, ...)
and the code (e.g. for EAN-13: 123456789102). As you see, you do not
@@ -13,7 +13,7 @@
As of version 0.7beta3 Python 3 is supported, but not well tested.
-.. _PIL: http://www.pythonware.com/products/pil
+.. _Pillow: https://python-pillow.org/
Creating barcodes as SVG
------------------------
@@ -27,14 +27,14 @@
>>> ean = barcode.get('ean13', '123456789102')
# Now we look if the checksum was added
>>> ean.get_fullcode()
- u'1234567891026'
+ '1234567891026'
>>> filename = ean.save('ean13')
>>> filename
- u'ean13.svg'
+ 'ean13.svg'
>>> options = dict(compress=True)
>>> filename = ean.save('ean13', options)
>>> filename
- u'ean13.svgz'
+ 'ean13.svgz'
Now you have ean13.svg and the compressed ean13.svgz in your current
working directory. Open it and see the result.
@@ -55,4 +55,4 @@
>>> ean = barcode.get('ean13', '123456789102', writer=ImageWriter())
>>> filename = ean.save('ean13')
>>> filename
- u'ean13.png'
+ 'ean13.png'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/docs/conf.py new/python-barcode-0.10.0/docs/conf.py
--- old/python-barcode-0.9.0/docs/conf.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/docs/conf.py 2019-05-24 10:41:57.000000000 +0200
@@ -176,8 +176,8 @@
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
- ('index', 'pyBarcode.tex', u'pyBarcode Documentation',
- u'Thorsten Weimann', 'manual'),
+ ('index', 'pyBarcode.tex', 'pyBarcode Documentation',
+ 'Thorsten Weimann', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/docs/writers/image.rst new/python-barcode-0.10.0/docs/writers/image.rst
--- old/python-barcode-0.9.0/docs/writers/image.rst 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/docs/writers/image.rst 2019-05-24 10:41:57.000000000 +0200
@@ -3,7 +3,7 @@
.. versionadded:: 0.4b1
-Creates barcodes as image. All imagetypes supported by PIL are availble.
+Creates barcodes as image. All imagetypes supported by Pillow are availble.
Special Options
---------------
@@ -15,7 +15,7 @@
~~~~~~~~~~~~~~~~
:format:
- The image file format as *string*. All formats supported by PIL are
+ The image file format as *string*. All formats supported by Pillow are
valid (e.g. PNG, JPEG, BMP, ...).
Defaults to **PNG**.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/python_barcode.egg-info/PKG-INFO new/python-barcode-0.10.0/python_barcode.egg-info/PKG-INFO
--- old/python-barcode-0.9.0/python_barcode.egg-info/PKG-INFO 2018-06-14 18:50:08.000000000 +0200
+++ new/python-barcode-0.10.0/python_barcode.egg-info/PKG-INFO 2019-05-24 10:42:11.000000000 +0200
@@ -1,22 +1,33 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: python-barcode
-Version: 0.9.0
-Summary: Create standard barcodes with Python. No external modules needed (optional PIL support included).
+Version: 0.10.0
+Summary: Create standard barcodes with Python. No external modules needed. (optional Pillow support included).
Home-page: https://github.com/WhyNotHugo/python-barcode
Author: Thorsten Weimann et al
Author-email: weimann.th(a)yahoo.com
License: MIT
-Description-Content-Type: UNKNOWN
Description: python-barcode
==============
- .. image:: example-ean13.png
- :target: https://github.com/WhyNotHugo/python-barcode
- :alt: python-barcode
+ .. image:: https://travis-ci.org/WhyNotHugo/python-barcode.svg?branch=master
+ :target: https://travis-ci.org/WhyNotHugo/python-barcode
+ :alt: build status
+
+ .. image:: https://img.shields.io/pypi/v/python-barcode.svg
+ :target: https://pypi.python.org/pypi/python-barcode
+ :alt: version on pypi
+
+ .. image:: https://img.shields.io/pypi/l/python-barcode.svg
+ :target: https://github.com/WhyNotHugo/python-barcode/blob/master/LICENCE
+ :alt: licence
This library provides a simple way to create barcodes using only the
Python standard lib. The barcodes are created as SVG objects.
+ .. image:: example-ean13.png
+ :target: https://github.com/WhyNotHugo/python-barcode
+ :alt: python-barcode
+
Please report any bugs at https://github.com/WhyNotHugo/python-barcode/issues
@@ -26,7 +37,7 @@
- Setuptools/distribute for installation.
- Python 3.5 or above
- Program to open SVG objects (your browser should do it)
- - Optional: PIL to render barcodes as images (PNG, JPG, ...)
+ - Optional: Pillow to render barcodes as images (PNG, JPG, ...)
Installation
@@ -67,37 +78,37 @@
>>> import barcode
>>> barcode.PROVIDED_BARCODES
- [u'code39', u'code128', u'ean', u'ean13', u'ean8', u'gs1', u'gtin',
- u'isbn', u'isbn10', u'isbn13', u'issn', u'jan', u'pzn', u'upc', u'upca']
+ ['code39', 'code128', 'ean', 'ean13', 'ean8', 'gs1', 'gtin',
+ 'isbn', 'isbn10', 'isbn13', 'issn', 'jan', 'pzn', 'upc', 'upca']
>>> EAN = barcode.get_barcode_class('ean13')
>>> EAN
<class 'barcode.ean.EuropeanArticleNumber13'>
- >>> ean = EAN(u'5901234123457')
+ >>> ean = EAN('5901234123457')
>>> ean
<barcode.ean.EuropeanArticleNumber13 object at 0x00BE98F0>
>>> fullname = ean.save('ean13_barcode')
>>> fullname
- u'ean13_barcode.svg'
+ 'ean13_barcode.svg'
# Example with PNG
>>> from barcode.writer import ImageWriter
- >>> ean = EAN(u'5901234123457', writer=ImageWriter())
+ >>> ean = EAN('5901234123457', writer=ImageWriter())
>>> fullname = ean.save('ean13_barcode')
- u'ean13_barcode.png'
+ 'ean13_barcode.png'
# New in v0.4.2
>>> from StringIO import StringIO
>>> fp = StringIO()
>>> ean.write(fp)
# or
>>> f = open('/my/new/file', 'wb')
- >>> ean.write(f) # PIL (ImageWriter) produces RAW format here
+ >>> ean.write(f) # Pillow (ImageWriter) produces RAW format here
# New in v0.5.0
>>> from barcode import generate
- >>> name = generate('EAN13', u'5901234123457', output='barcode_svg')
+ >>> name = generate('EAN13', '5901234123457', output='barcode_svg')
>>> name
- u'barcode_svg.svg'
+ 'barcode_svg.svg'
# with file like object
>>> fp = StringIO()
- >>> generate('EAN13', u'5901234123457', writer=ImageWriter(), output=fp)
+ >>> generate('EAN13', '5901234123457', writer=ImageWriter(), output=fp)
>>>
Now open ean13_barcode.[svg|png] in a graphic app or simply in your browser
@@ -105,16 +116,29 @@
Commandline::
- $ pybarcode create "My Text" outfile
+ $ python-barcode create "My Text" outfile
New barcode saved as outfile.svg.
- $ pybarcode create -t png "My Text" outfile
+ $ python-barcode create -t png "My Text" outfile
New barcode saved as outfile.png.
- Try `pybarcode -h` for help.
+ Try `python-barcode -h` for help.
Changelog
---------
+ v0.9.1
+ ~~~~~~
+
+ * Officially support Python 3.7
+ * Refer to Pillow in the docs, rather than PIL.
+
+ v0.9.0
+ ~~~~~~
+
+ * Removed buggy ``Barcode.raw`` attribute.
+ * Various CLI errors ironed out.
+ * Make the default value for ``writer_options``` consistent across writers.
+
v0.8.3
~~~~~~
@@ -228,5 +252,7 @@
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Provides-Extra: images
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/setup.py new/python-barcode-0.10.0/setup.py
--- old/python-barcode-0.9.0/setup.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/setup.py 2019-05-24 10:41:57.000000000 +0200
@@ -12,8 +12,8 @@
author='Thorsten Weimann et al',
author_email='weimann.th(a)yahoo.com',
description=(
- 'Create standard barcodes with Python. No external modules needed '
- '(optional PIL support included).'
+ 'Create standard barcodes with Python. No external modules needed. '
+ '(optional Pillow support included).'
),
long_description=Path('README.rst').read_text(),
classifiers=[
@@ -26,6 +26,7 @@
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
'Topic :: Multimedia :: Graphics',
'Topic :: Software Development :: Libraries :: Python Modules',
],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-barcode-0.9.0/test.py new/python-barcode-0.10.0/test.py
--- old/python-barcode-0.9.0/test.py 2018-06-14 18:49:51.000000000 +0200
+++ new/python-barcode-0.10.0/test.py 2019-05-24 10:41:57.000000000 +0200
@@ -45,7 +45,7 @@
IMAGES = ('<h3>As PNG-Image</h3><br>\n'
'<img src="{filename}" alt="PNG {name}"></p>\n')
-NO_PIL = '<h3>PIL was not found. No PNG-Image created.</h3></p>\n'
+NO_PIL = '<h3>Pillow was not found. No PNG-Image created.</h3></p>\n'
TESTCODES = (
('ean8', '40267708'),
@@ -149,6 +149,10 @@
isbn = get_barcode('isbn13', '978376926085')
self.assertEqual('9783769260854', isbn.get_fullcode())
+ def test_gs1_128(self):
+ gs1_128 = get_barcode('gs1_128', '00376401856400470087')
+ self.assertEqual('00376401856400470087', gs1_128.get_fullcode())
+
if __name__ == '__main__':
test()
1
0
Hello community,
here is the log from the commit of package python-python-dotenv for openSUSE:Factory checked in at 2019-05-27 08:39:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-dotenv (Old)
and /work/SRC/openSUSE:Factory/.python-python-dotenv.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-dotenv"
Mon May 27 08:39:12 2019 rev:3 rq:705389 version:0.10.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-python-dotenv/python-python-dotenv.changes 2019-03-10 09:37:02.240152362 +0100
+++ /work/SRC/openSUSE:Factory/.python-python-dotenv.new.5148/python-python-dotenv.changes 2019-05-27 08:39:27.623045830 +0200
@@ -1,0 +2,9 @@
+Sat May 25 08:58:11 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.10.2:
+ * Add type hints and expose them to users (@qnighy)(#172)
+ * load_dotenv and dotenv_values now accept an encoding parameter, defaults to None (@theskumar)(@earlbread)(#161)
+ * Fix str/unicode inconsistency in Python 2: values are always str now. (@bbc2)(#121)
+ * Fix Unicode error in Python 2, introduced in 0.10.0. (@bbc2)(#176)
+
+-------------------------------------------------------------------
Old:
----
python-dotenv-0.10.1.tar.gz
New:
----
python-dotenv-0.10.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-dotenv.spec ++++++
--- /var/tmp/diff_new_pack.8uALDD/_old 2019-05-27 08:39:28.123045635 +0200
+++ /var/tmp/diff_new_pack.8uALDD/_new 2019-05-27 08:39:28.123045635 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-python-dotenv
-Version: 0.10.1
+Version: 0.10.2
Release: 0
Summary: Python library for .env support
License: BSD-3-Clause
@@ -63,7 +63,7 @@
export PATH=%{buildroot}%{_bindir}:$PATH
%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitelib}
cp %{buildroot}%{_bindir}/dotenv-%{$python_bin_suffix} %{buildroot}%{_bindir}/dotenv
-$python -m pytest
+$python -m pytest -v
}
mv %{buildroot}%{_bindir}/dotenv.orig %{buildroot}%{_bindir}/dotenv
++++++ python-dotenv-0.10.1.tar.gz -> python-dotenv-0.10.2.tar.gz ++++++
++++ 2188 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-python-slugify for openSUSE:Factory checked in at 2019-05-27 08:39:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-slugify (Old)
and /work/SRC/openSUSE:Factory/.python-python-slugify.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-slugify"
Mon May 27 08:39:08 2019 rev:5 rq:705388 version:3.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-python-slugify/python-python-slugify.changes 2019-03-26 15:45:34.156077730 +0100
+++ /work/SRC/openSUSE:Factory/.python-python-slugify.new.5148/python-python-slugify.changes 2019-05-27 08:39:26.467046281 +0200
@@ -1,0 +2,6 @@
+Sat May 25 08:55:08 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 3.0.2:
+ * Add official support of Py 3.7
+
+-------------------------------------------------------------------
Old:
----
python-slugify-3.0.1.tar.gz
New:
----
python-slugify-3.0.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-slugify.spec ++++++
--- /var/tmp/diff_new_pack.J0v0jD/_old 2019-05-27 08:39:27.027046062 +0200
+++ /var/tmp/diff_new_pack.J0v0jD/_new 2019-05-27 08:39:27.027046062 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-python-slugify
-Version: 3.0.1
+Version: 3.0.2
Release: 0
Summary: Slugify application that handles Unicode
License: MIT
++++++ python-slugify-3.0.1.tar.gz -> python-slugify-3.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slugify-3.0.1/CHANGELOG.md new/python-slugify-3.0.2/CHANGELOG.md
--- old/python-slugify-3.0.1/CHANGELOG.md 2019-03-25 23:24:43.000000000 +0100
+++ new/python-slugify-3.0.2/CHANGELOG.md 2019-03-31 16:15:13.000000000 +0200
@@ -1,3 +1,6 @@
+## 3.0.2
+ - Add official support of Py 3.7
+
## 3.0.1
- Add test.py to manifest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slugify-3.0.1/PKG-INFO new/python-slugify-3.0.2/PKG-INFO
--- old/python-slugify-3.0.1/PKG-INFO 2019-03-25 23:25:02.000000000 +0100
+++ new/python-slugify-3.0.2/PKG-INFO 2019-03-31 16:15:19.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: python-slugify
-Version: 3.0.1
+Version: 3.0.2
Summary: A Python Slugify application that handles Unicode
Home-page: https://github.com/un33k/python-slugify
Author: Val Neekman
@@ -22,4 +22,5 @@
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Provides-Extra: unidecode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slugify-3.0.1/python_slugify.egg-info/PKG-INFO new/python-slugify-3.0.2/python_slugify.egg-info/PKG-INFO
--- old/python-slugify-3.0.1/python_slugify.egg-info/PKG-INFO 2019-03-25 23:25:02.000000000 +0100
+++ new/python-slugify-3.0.2/python_slugify.egg-info/PKG-INFO 2019-03-31 16:15:19.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: python-slugify
-Version: 3.0.1
+Version: 3.0.2
Summary: A Python Slugify application that handles Unicode
Home-page: https://github.com/un33k/python-slugify
Author: Val Neekman
@@ -22,4 +22,5 @@
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
Provides-Extra: unidecode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slugify-3.0.1/setup.py new/python-slugify-3.0.2/setup.py
--- old/python-slugify-3.0.1/setup.py 2019-03-03 18:41:22.000000000 +0100
+++ new/python-slugify-3.0.2/setup.py 2019-03-31 16:09:05.000000000 +0200
@@ -32,6 +32,7 @@
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slugify-3.0.1/slugify/__init__.py new/python-slugify-3.0.2/slugify/__init__.py
--- old/python-slugify-3.0.1/slugify/__init__.py 2019-03-25 23:24:43.000000000 +0100
+++ new/python-slugify-3.0.2/slugify/__init__.py 2019-03-31 16:15:13.000000000 +0200
@@ -3,4 +3,4 @@
__author__ = 'Val Neekman @ Neekware Inc. [@vneekman]'
__description__ = 'A Python slugify application that also handles Unicode'
-__version__ = '3.0.1'
+__version__ = '3.0.2'
1
0
Hello community,
here is the log from the commit of package python-pythonfinder for openSUSE:Factory checked in at 2019-05-27 08:39:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pythonfinder (Old)
and /work/SRC/openSUSE:Factory/.python-pythonfinder.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pythonfinder"
Mon May 27 08:39:02 2019 rev:2 rq:705387 version:1.2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pythonfinder/python-pythonfinder.changes 2019-03-24 15:00:02.855178925 +0100
+++ /work/SRC/openSUSE:Factory/.python-pythonfinder.new.5148/python-pythonfinder.changes 2019-05-27 08:39:20.619048560 +0200
@@ -1,0 +2,7 @@
+Sat May 25 08:52:45 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 1.2.1:
+ * Added support for subprocess timeouts while discovering python paths. #62
+- Merged patch setup-ascii.patch
+
+-------------------------------------------------------------------
Old:
----
pythonfinder-1.2.0.tar.gz
setup-ascii.patch
New:
----
pythonfinder-1.2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pythonfinder.spec ++++++
--- /var/tmp/diff_new_pack.reH3et/_old 2019-05-27 08:39:21.735048125 +0200
+++ /var/tmp/diff_new_pack.reH3et/_new 2019-05-27 08:39:21.743048122 +0200
@@ -18,15 +18,13 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pythonfinder
-Version: 1.2.0
+Version: 1.2.1
Release: 0
Summary: A tool to locate Python on the system
License: MIT
Group: Development/Languages/Python
URL: https://github.com/sarugaku/pythonfinder
Source: https://github.com/sarugaku/pythonfinder/archive/%{version}.tar.gz#/pythonf…
-# https://github.com/sarugaku/pythonfinder/issues/62
-Patch0: setup-ascii.patch
BuildRequires: %{python_module setuptools >= 36.2.2}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -55,11 +53,6 @@
%prep
%setup -q -n pythonfinder-%{version}
-%patch0 -p1
-# Has no direct dependency on pathlib2 or lru_cache, which it obtains from vistir
-# https://github.com/sarugaku/pythonfinder/pull/63
-sed -i '/pathlib2/d;/lru_cache/d' setup.cfg
-
rm -r tasks
sed -i '/addopts/d' setup.cfg
@@ -78,9 +71,7 @@
%check
# Three tests fail with OSError: [Errno 1] Operation not permitted , attempting
# to modify read-only system image files.
-%{python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} $python -m pytest -k \
- 'not (test_python_versions or test_shims_are_kept or test_shims_are_removed)'
-}
+%pytest -k 'not (test_python_versions or test_shims_are_kept or test_shims_are_removed)'
%files %{python_files}
%doc CHANGELOG.rst README.rst
++++++ pythonfinder-1.2.0.tar.gz -> pythonfinder-1.2.1.tar.gz ++++++
++++ 3995 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-rrdtool for openSUSE:Factory checked in at 2019-05-27 08:38:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-rrdtool (Old)
and /work/SRC/openSUSE:Factory/.python-rrdtool.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-rrdtool"
Mon May 27 08:38:58 2019 rev:2 rq:705385 version:0.1.15
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-rrdtool/python-rrdtool.changes 2019-05-16 22:09:33.934308515 +0200
+++ /work/SRC/openSUSE:Factory/.python-rrdtool.new.5148/python-rrdtool.changes 2019-05-27 08:39:14.547050927 +0200
@@ -1,0 +2,6 @@
+Sat May 25 08:38:54 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.1.15:
+ * no upstream changelog provided
+
+-------------------------------------------------------------------
Old:
----
v0.1.14.tar.gz
New:
----
v0.1.15.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-rrdtool.spec ++++++
--- /var/tmp/diff_new_pack.pZkGZU/_old 2019-05-27 08:39:16.803050048 +0200
+++ /var/tmp/diff_new_pack.pZkGZU/_new 2019-05-27 08:39:16.807050046 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-rrdtool
-Version: 0.1.14
+Version: 0.1.15
Release: 0
Summary: Python bindings for rrdtool
License: LGPL-2.1-or-later
++++++ v0.1.14.tar.gz -> v0.1.15.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/.editorconfig new/python-rrdtool-0.1.15/.editorconfig
--- old/python-rrdtool-0.1.14/.editorconfig 1970-01-01 01:00:00.000000000 +0100
+++ new/python-rrdtool-0.1.15/.editorconfig 2019-05-17 14:18:18.000000000 +0200
@@ -0,0 +1,13 @@
+root = true
+
+[*]
+end_of_line = lf
+insert_final_newline = true
+
+[*.py]
+indent_style = space
+indent_size = 4
+
+[{*.c,*.h}]
+indent_style = space
+indent_size = 4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/.github/ISSUE_TEMPLATE/bug_report.md new/python-rrdtool-0.1.15/.github/ISSUE_TEMPLATE/bug_report.md
--- old/python-rrdtool-0.1.14/.github/ISSUE_TEMPLATE/bug_report.md 1970-01-01 01:00:00.000000000 +0100
+++ new/python-rrdtool-0.1.15/.github/ISSUE_TEMPLATE/bug_report.md 2019-05-17 14:18:18.000000000 +0200
@@ -0,0 +1,29 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: bug
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+Steps to reproduce the behavior:
+
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots and/or console outputs to help explain your problem.
+
+**Desktop (please complete the following information):**
+ - Python version:
+ - RRDtool version:
+ - python-rrdtool version:
+
+**Additional context**
+Add any other context about the problem here.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/.travis.yml new/python-rrdtool-0.1.15/.travis.yml
--- old/python-rrdtool-0.1.14/.travis.yml 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/.travis.yml 2019-05-17 14:18:18.000000000 +0200
@@ -1,13 +1,12 @@
-dist: trusty
+dist: xenial
language: python
sudo: required
python:
- - "2.6"
- "2.7"
- - "3.3"
- "3.4"
- "3.5"
- "3.6"
+ - "3.7"
before_install:
- sudo apt-get -qq update
- sudo apt-get install -y librrd-dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/README.md new/python-rrdtool-0.1.15/README.md
--- old/python-rrdtool-0.1.14/README.md 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/README.md 2019-05-17 14:18:18.000000000 +0200
@@ -1,29 +1,29 @@
[![Build Status](https://travis-ci.org/commx/python-rrdtool.svg?branch=master)](http…
-python-rrdtool
-==============
+# python-rrdtool
-Python bindings for [RRDtool](http://oss.oetiker.ch/rrdtool) with a native C extension.
+Python bindings for [RRDtool](https://oss.oetiker.ch/rrdtool) for Python 2 and 3.
-Supported Python versions: 2.6+, 3.3+.
+The bindings are based on the code of the original Python 2 bindings module for rrdtool by Hye-Shik Chang and are now shipped with the RRDtool distribution. This project is maintained separately to provide a more pythonic way to install those bindings via [PyPI](https://pypi.org).
-The bindings are based on the code of the original Python 2 bindings for rrdtool by Hye-Shik Chang, which are currently shipped as official bindings with rrdtool.
+## Features
-**Note:** python-rrdtool is now the official rrdtool Python binding and shipped with the upstream distribution.
+* Native extension (written in C) for performance reasons.
+* Uses library functions as exposed by librrd.
+* Works with Python 2.6, 2.7, 3.3 and any later version.
-Installation
-------------
-The easy way:
+## Installation
- # pip install rrdtool
+The most convenient way to install (on POSIX-like systems) is to use pip:
-**Note:** This requires rrdtool and it's development files (headers, libraries, dependencies) to be installed.
+ pip install rrdtool
-In case you'd like to build the module on your own, you can obtain a copy of the repository and run `python setup.py install` in it's destination folder to build the native C extension.
+**Note:** Unless binary versions are available for your target system, the command above requires rrdtool development files (headers, libraries, dependencies) to be installed, otherwise building the module will fail.
-Usage
------
+In case you'd like to build the module on your own (regardless of whether binary versions are available for your system), you can obtain a copy of the source code and run `python setup.py install` in its destination folder to build the module.
+
+## Usage
```python
import rrdtool
@@ -35,7 +35,10 @@
rrdtool.update('test.rrd', 'N:32')
```
-Documentation
--------------
+## Documentation
+
+You can find the latest documentation for this project at https://pythonhosted.org/rrdtool.
+
+## License
-You can find the latest documentation for this project at http://pythonhosted.org/rrdtool.
+[GNU Lesser General Public License version 2.1](https://opensource.org/licenses/LGPL-2.1).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/docs/index.rst new/python-rrdtool-0.1.15/docs/index.rst
--- old/python-rrdtool-0.1.14/docs/index.rst 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/docs/index.rst 2019-05-17 14:18:18.000000000 +0200
@@ -10,7 +10,7 @@
The bindings are a fork of the `Python bindings by Hye-Shik Chang <http://www.nongnu.org/py-rrdtool/>`_, which are currently shipped with the official rrdtool source distribution.
-Tables of content
+Table of contents
-----------------
.. toctree::
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/docs/usage.rst new/python-rrdtool-0.1.15/docs/usage.rst
--- old/python-rrdtool-0.1.14/docs/usage.rst 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/docs/usage.rst 2019-05-17 14:18:18.000000000 +0200
@@ -42,27 +42,27 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: None
.. function:: dump(*args)
- Dump an round robin database to XML.
+ Dump a round robin database to XML.
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: None
.. function:: fetch(*args)
- Fetch data from an round robin database.
+ Fetch data from a round robin database.
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: tuple
@@ -79,7 +79,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: int
@@ -89,7 +89,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: None
@@ -99,7 +99,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: tuple
@@ -118,7 +118,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: dict
@@ -143,7 +143,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: dict
@@ -175,17 +175,17 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: int
.. function:: lastupdate(*args)
- Returns datetme and value stored for each datum in the most recent update of an RRD.
+ Returns datetime and value stored for each datum in the most recent update of an RRD.
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: dict
@@ -227,7 +227,7 @@
:param callable: A callable method or object
:type callable: callable
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:rtype: None
Example::
@@ -278,7 +278,7 @@
rrdtool.register_fetch_cb(cb) # overwrite callback
rrdtool.graphv(**graphv_args)
- .. note:: This function uses Python long integers on Python 2.x and 3.x to minimize compatibility code requirements (Python 3 has long integers as it's default int anyway).
+ .. note:: This function uses Python long integers on Python 2.x and 3.x to minimize compatibility code requirements (Python 3 has long integers as its default int anyway).
.. note:: This function has been added in rrdtool 1.5.0 and may not be available if compiled against an older version.
@@ -290,7 +290,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: None
@@ -300,7 +300,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: None
@@ -310,7 +310,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: None
@@ -320,7 +320,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: dict
@@ -330,7 +330,7 @@
:param args: Arguments
:type args: tuple
- :raises ProgrammingError: in the event of an programming error
+ :raises ProgrammingError: in the event of a programming error
:raises OperationalError: in the event of an rrdtool error
:rtype: dict
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/rrdtoolmodule.c new/python-rrdtool-0.1.15/rrdtoolmodule.c
--- old/python-rrdtool-0.1.14/rrdtoolmodule.c 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/rrdtoolmodule.c 2019-05-17 14:18:18.000000000 +0200
@@ -3,7 +3,7 @@
* Based on the rrdtool Python bindings for Python 2 from
* Hye-Shik Chang <perky(a)fallin.lv>.
*
- * Copyright 2012 Christian Jurk <commx(a)commx.ws>
+ * Copyright 2012 Christian Kroeger <commx(a)commx.ws>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -157,13 +157,13 @@
o = PyTuple_GET_ITEM(args, i);
if (PyRRD_String_Check(o))
- (*rrdtool_argv)[++argv_count] = PyRRD_String_AS_STRING(o);
+ (*rrdtool_argv)[++argv_count] = (char *)PyRRD_String_AS_STRING(o);
else if (PyList_CheckExact(o)) {
for (j = 0; j < PyList_Size(o); j++) {
lo = PyList_GetItem(o, j);
if (PyRRD_String_Check(lo))
- (*rrdtool_argv)[++argv_count] = PyRRD_String_AS_STRING(lo);
+ (*rrdtool_argv)[++argv_count] = (char *)PyRRD_String_AS_STRING(lo);
else {
PyMem_Del(*rrdtool_argv);
PyErr_Format(PyExc_TypeError,
@@ -265,7 +265,7 @@
[DS:ds-name[=mapped-ds-name[source-index]]:DST:heartbeat:min:max]\n\
[RRA:CF:xff:steps:rows]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdcreate.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdcreate.en.html";
static PyObject *
_rrdtool_create(PyObject *Py_UNUSED(self), PyObject *args)
@@ -304,7 +304,7 @@
file.rrd\n\
[file.xml]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrddump.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrddump.en.html";
static PyObject *
_rrdtool_dump(PyObject *Py_UNUSED(self), PyObject *args)
@@ -343,7 +343,7 @@
N|timestamp:value[:value...]\n\
[timestamp:value[:value...] ...]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdupdate.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdupdate.en.html";
static PyObject *
_rrdtool_update(PyObject *Py_UNUSED(self), PyObject *args)
@@ -417,7 +417,7 @@
[-a|--align-start]\n\
[-d|--daemon address]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdfetch.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdfetch.en.html";
static PyObject *
_rrdtool_fetch(PyObject *Py_UNUSED(self), PyObject *args)
@@ -495,7 +495,7 @@
filename\n\
[filename ...]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdflushcached.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdflushcached.en.html";
static PyObject *
_rrdtool_flushcached(PyObject *Py_UNUSED(self), PyObject *args)
@@ -587,7 +587,7 @@
CDEF:vname=RPN expression\n\
VDEF=vname:RPN expression\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html";
static PyObject *
_rrdtool_graph(PyObject *Py_UNUSED(self), PyObject *args)
@@ -644,7 +644,7 @@
This function works the same way as 'graph', but will return a info\n\
dictionary instead of None.\n\n\
Full documentation can be found at (graphv section):\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html";
static PyObject *
_rrdtool_graphv(PyObject *Py_UNUSED(self), PyObject *args)
@@ -689,7 +689,7 @@
[CDEF:vname=rpn-expression]\n\
[XPORT:vname[:legend]]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdxport.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdxport.en.html";
static PyObject *
_rrdtool_xport(PyObject *Py_UNUSED(self), PyObject *args)
@@ -791,7 +791,7 @@
[-d|--data-source-type ds-name:DST]\n\
[-r|--data-source-rename old-name:new-name]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdtune.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdtune.en.html";
static PyObject *
_rrdtool_tune(PyObject *Py_UNUSED(self), PyObject *args)
@@ -829,7 +829,7 @@
[--rraindex number]\n\
[-d|--daemon address]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdfirst.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdfirst.en.html";
static PyObject *
_rrdtool_first(PyObject *Py_UNUSED(self), PyObject *args)
@@ -864,7 +864,7 @@
filename\n\
[-d|--daemon address]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdlast.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdlast.en.html";
static PyObject *
_rrdtool_last(PyObject *Py_UNUSED(self), PyObject *args)
@@ -901,7 +901,7 @@
GROW|SHRINK\n\
rows\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdlast.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdlast.en.html";
static PyObject *
_rrdtool_resize(PyObject *Py_UNUSED(self), PyObject *args)
@@ -939,7 +939,7 @@
[-d|--daemon address]\n\
[-F|--noflush]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdinfo.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdinfo.en.html";
static PyObject *
_rrdtool_info(PyObject *Py_UNUSED(self), PyObject *args)
@@ -976,7 +976,7 @@
filename\n\
[-d|--daemon address]\n\n\
Full documentation can be found at:\n\
- http://oss.oetiker.ch/rrdtool/doc/rrdlastupdate.en.html";
+ https://oss.oetiker.ch/rrdtool/doc/rrdlastupdate.en.html";
static PyObject *
_rrdtool_lastupdate(PyObject *Py_UNUSED(self), PyObject *args)
@@ -1052,7 +1052,7 @@
#ifdef WITH_FETCH_CB
-/** An Python object which will hold an callable for fetch callbacks */
+/** A Python object which will hold a callable for fetch callbacks */
static PyObject *_rrdtool_fetch_callable = NULL;
static int
@@ -1143,7 +1143,7 @@
rrd_set_error("expected 'start' key in callback return value to be "
"of type int");
goto gil_release_err;
- } else if (PyObject_RichCompareBool(tmp, tmp_min_ts, Py_EQ) ||
+ } else if (PyObject_RichCompareBool(tmp, tmp_min_ts, Py_EQ) ||
PyObject_RichCompareBool(tmp, po_start, Py_LT)) {
rrd_set_error("expected 'start' value in callback return dict to be "
"equal or earlier than passed start timestamp");
@@ -1181,7 +1181,7 @@
unsigned int x = 0;
while (PyDict_Next(tmp, &pos, &key, &value)) {
- char *key_str = PyRRD_String_AS_STRING(key);
+ const char *key_str = PyRRD_String_AS_STRING(key);
if (key_str == NULL) {
rrd_set_error("key of 'data' element from callback return "
@@ -1240,8 +1240,7 @@
if (exc_value != NULL) {
exc_value_str = PyObject_Str(exc_value);
- char *exc_str = PyRRD_String_AS_STRING(exc_value_str);
- rrd_set_error(exc_str);
+ rrd_set_error((char *)PyRRD_String_AS_STRING(exc_value_str));
Py_DECREF(exc_value);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/rrdtoolmodule.h new/python-rrdtool-0.1.15/rrdtoolmodule.h
--- old/python-rrdtool-0.1.14/rrdtoolmodule.h 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/rrdtoolmodule.h 2019-05-17 14:18:18.000000000 +0200
@@ -35,7 +35,7 @@
const char *filename, /* name of the rrd */
enum cf_en cf_idx, /* consolidation function */
time_t *start,
- time_t *end, /* which time frame do you want ?
+ time_t *end, /* which time frame do you want?
* will be changed to represent reality */
unsigned long *step, /* which stepsize do you want?
* will be changed to represent reality */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/setup.cfg new/python-rrdtool-0.1.15/setup.cfg
--- old/python-rrdtool-0.1.14/setup.cfg 1970-01-01 01:00:00.000000000 +0100
+++ new/python-rrdtool-0.1.15/setup.cfg 2019-05-17 14:18:18.000000000 +0200
@@ -0,0 +1,2 @@
+[metadata]
+license_file = LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/setup.py new/python-rrdtool-0.1.15/setup.py
--- old/python-rrdtool-0.1.14/setup.py 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/setup.py 2019-05-17 14:18:18.000000000 +0200
@@ -12,7 +12,7 @@
package_dir = os.path.abspath(os.path.dirname(__file__))
# package version
-package_version = '0.1.14'
+package_version = '0.1.15'
def check_extensions():
@@ -108,42 +108,49 @@
libraries=libraries)
except CompileError:
sys.exit('Error: Unable to compile the binary module. Do you have the rrdtool header and libraries installed?')
- ret = None
- except LinkError as exc:
- shutil.rmtree(tmp_dir)
- raise # re-raise
+ except LinkError:
+ raise
else:
return exts # seems to be available, compile in regular way
-
- shutil.rmtree(tmp_dir)
- return ret
+ finally:
+ shutil.rmtree(tmp_dir)
def main():
+ with open('README.md') as readme:
+ long_description = readme.read()
+
kwargs = dict(
name='rrdtool',
version=package_version,
description='Python bindings for rrdtool',
+ long_description=long_description,
+ long_description_content_type='text/markdown',
keywords=['rrdtool'],
- author='Christian Kroeger, Hye-Shik Chang',
+ author='Christian Kroeger',
author_email='commx(a)commx.ws',
- license='LGPL',
url='https://github.com/commx/python-rrdtool',
- classifiers=['License :: OSI Approved',
- 'Operating System :: POSIX',
- 'Operating System :: Unix',
- 'Operating System :: MacOS',
- 'Programming Language :: C',
- 'Programming Language :: Python',
- 'Programming Language :: Python :: 2.6',
- 'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3.3',
- 'Programming Language :: Python :: 3.4',
- 'Programming Language :: Python :: 3.5',
- 'Programming Language :: Python :: 3.6',
+ classifiers=[
+ 'Development Status :: 5 - Production/Stable',
+ 'License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)',
+ 'Operating System :: POSIX',
+ 'Programming Language :: C',
+ 'Programming Language :: Python :: 2',
+ 'Programming Language :: Python :: 2.6',
+ 'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3.3',
+ 'Programming Language :: Python :: 3.4',
+ 'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
],
ext_modules=check_extensions(),
- test_suite='tests'
+ test_suite='tests',
+ package_data={
+ '': ['LICENSE']
+ },
+ python_requires='>=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4'
)
setup(**kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rrdtool-0.1.14/tests/test_fetch_cb.py new/python-rrdtool-0.1.15/tests/test_fetch_cb.py
--- old/python-rrdtool-0.1.14/tests/test_fetch_cb.py 2018-04-26 15:40:54.000000000 +0200
+++ new/python-rrdtool-0.1.15/tests/test_fetch_cb.py 2019-05-17 14:18:18.000000000 +0200
@@ -1,13 +1,12 @@
-import base64
import math
-import os
import rrdtool
import unittest
import sys
class TestFetchCallback(unittest.TestCase):
- def check_skip(self):
+ @staticmethod
+ def check_skip():
if not hasattr(rrdtool, 'register_fetch_cb'):
if sys.version_info >= (2, 7):
raise unittest.SkipTest('register_fetch_cb not available')
@@ -46,7 +45,13 @@
rrdtool.register_fetch_cb(my_callback)
- self.assertRaisesRegex(
+ # TestCase.assertRaisesRegexp was renamed in Python 3.2
+ if sys.version_info >= (3, 2):
+ assert_raises_regex = self.assertRaisesRegex
+ else:
+ assert_raises_regex = self.assertRaisesRegexp
+
+ assert_raises_regex(
rrdtool.OperationalError,
'expected callback method to be a dict',
rrdtool.graphv,
@@ -81,4 +86,4 @@
if __name__ == '__main__':
- unittest.main()
\ No newline at end of file
+ unittest.main()
1
0
Hello community,
here is the log from the commit of package pmacct for openSUSE:Factory checked in at 2019-05-27 08:38:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pmacct (Old)
and /work/SRC/openSUSE:Factory/.pmacct.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pmacct"
Mon May 27 08:38:54 2019 rev:2 rq:705313 version:1.7.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/pmacct/pmacct.changes 2019-01-08 12:28:43.696255805 +0100
+++ /work/SRC/openSUSE:Factory/.pmacct.new.5148/pmacct.changes 2019-05-27 08:39:13.015051524 +0200
@@ -1,0 +2,147 @@
+Thu May 16 18:02:07 UTC 2019 - Martin Hauke <mardnh(a)gmx.de>
+
+- Update to version 1.7.3
+ + Introduced the RPKI daemon to build a ROA database and check prefixes
+ validation status and coverages. Resource Public Key Infrastructure
+ (RPKI) is a specialized public key infrastructure (PKI) framework
+ designed to secure the Internet routing. RPKI uses certificates to
+ allow Local Internet Registries (LIRs) to list the Internet number
+ resources they hold. These attestations are called Route Origination
+ Authorizations (ROAs). ROA information can be acquired in one of the
+ two following ways: 1) importing it using the rpki_roas_file config
+ directive from a file in the RIPE Validator format or 2) connecting
+ to a RPKI RTR Cache for live ROA updates; the cache IP address/port
+ being defined by the rpki_rtr_cache config directive (and a few more
+ optional rpki_rtr_* directives are available and can be reviwed in
+ the CONFIG-KEYS doc). The ROA fields will be populated with one of
+ these five values: 'u' Unknown, 'v' Valid, 'i' Invalid no overlaps,
+ 'V' Invalid with a covering Valid prefix, 'U' Invalid with a covering
+ Unknown prefix.
+ + Introducing pmgrpcd.py, written in Python, a daemon to handle gRPC-
+ based Streaming Telemetry sessions and unmarshall GPB data. Code
+ was mostly courtesy by Matthias Arnold ( @tbearma1 ). This is in
+ addition (or feeding into) pmtelemetryd, written in C, a daemon to
+ handle TCP/UDP-based Streaming Telemetry sessions with JSON-encoded
+ data.
+ + pmacctd, uacctd: added support for CFP (Cisco FabricPath) and Cisco
+ Virtual Network Tag protocols.
+ + print plugin: added 'custom' to print_output. This is to cover two
+ main use-cases: 1) use JSON or Avro encodings but fix the format of
+ the messages in a custom way and 2) use a different encoding than
+ JSON or Avro. See also example in examples/custom and new directives
+ print_output_custom_lib and print_output_custom_cfg_file. The patch
+ was courtesy by Edge Intelligence ( @edge-intelligence ).
+ + Introducing mpls_pw_id aggregation primitive and mpls_pw_id key in
+ pre_tag_map to filter on signalled L2 MPLS VPN Pseudowire IDs.
+ + BGP daemon: added bgp_disable_router_id knob to enable/disable BGP
+ Router-ID check, both at BGP OPEN time and BGP lookup. Useful, for
+ example, in scenarios with split BGP v4/v6 AFs over v4/v6 transports.
+ + BGP, BMP daemons: translate origin attribute numeric value into IGP
+ (i), EGP (e) and Incomplete (u) strings.
+ + plugins: added new plugin_exit_any feature to make the daemon bail
+ out if any (not all, which is the default behaviour) of the plugins
+ exits.
+ + maps_index: improved selection of buckets for index hash structure
+ by picking the closest prime number to the double of the entries of
+ the map to be indexed in order to achieve better elements dispersion
+ and hence better performances.
+ + nfacctd: added support for IPFIX templateId-scoped (IE 145) sampling
+ information.
+ + pmacctd, uacctd, sfacctd, nfacctd: added a -M command-line option to
+ set *_markers (ie. print_markers) to true and fixed -A command-line
+ option to set print_output_file_append to align to true/false.
+ ! fix, BGP, BMP, Streaming Telemetry daemons: improved sequencing of
+ dump events by assigning a single sequence number per event (ie. for
+ streaming pipeline scenarios in order to reduce correlation with
+ dump_init/dump_close messages). Also amount of record dumped was
+ added to the close message.
+ ! fix, BGP, BMP, Streaming Telemetry daemons: removed hierarchical
+ json_decref() since json_object_get() borrows reference. This was
+ occasionaly leading to SEGVs.
+ ! fix, uacctd: dynamically allocate jumbo_container buffer size as
+ packets larger than 10KB, previous static allocation, would lead to
+ crashes.
+ ! fix, nfacctd: wired (BGP, BMP, ISIS, etc.) lookups to the NEL/NSEL
+ use-case.
+ ! fix, nfacctd: search for IE 408 (dataLinkFrameType) was leading to
+ SEGVs. Also improved handling of variable-length IPFIX templates.
+ ! fix, BMP daemon: solved an occasional truncation of the last message
+ in a packet.
+ ! fix, BGP daemon: when processing bgp_daemon_md5_file, ipv4 addresses
+ were incorrectly translated to ipv4-mapped ipv6 ones as a result of
+ which TCP-MD5 hashes were not correctly bound to sockets.
+ ! fix, BGP daemon: improved label-unicast and mpls-vpn SAFIs handling
+ (some bogus messages, multiple labels, etc.).
+ ! fix, BGP daemon: introduced PREFIX_STRLEN to make enough room for
+ prefix2str() calls (before unsufficient INET6_ADDRSTRLEN was used).
+ ! fix, BMP daemon: improved handling of ADD-PATH capability.
+ ! fix, plugins: an incorrect evaluation in P_cache_attach_new_node did
+ make possible to buffer overrun in plugins cache allocation. This was
+ found related to a "[..]: Assertion `!cache_ptr->stitch' failed."
+ daemon bail-out message.
+ ! fix, plugins: if pidfile directive was enabled, exit_gracefully() was
+ mistakenly deleting the plugin pidfile when called by a child process
+ (ie. writer, dumper, etc.).
+ ! fix, plugins: when taking exit_gracefully(), if the process is marked
+ as 'is_forked', just exit and don't perform extra ops in exit_all()
+ or exit_plugin().
+ ! fix, plugins: re-evaluate dynamic tables/files name if *_refresh_time
+ is different than *_history period.
+ ! fix, SQL plugins: a missing 'AND' was making SQL statements related
+ to src_host_coords and dst_host_coords fail.
+ ! fix, GeoIPv2: if no match is returned by libmaxminddb, return O1 code
+ (Other Country) instead of a null value.
+ ! fix, flow_to_rd_map: mpls_vpn_id was not working when maps_index was
+ enabled. Also partly re-written mpls_vpn_id handler.
+ ! fix, nfprobe plugin: serialize_bin() function introduced for correct
+ serialization of custom primitives defined with 'raw' semantics.
+ ! fix, PostgreSQL plugin: testing for presence of PQlibVersion() in
+ libpq to prevent compiling issues (ie. on CentOS 6).
+ ! fix, MySQL plugin: including mysql_version.h to compile successfully
+ against newer MariaDB releases.
+ ! fix, nDPI classification: send log message if 'class' primitive is
+ selected but nDPI is not compiled in; also updated code to follow
+ API changes in versions >= 2.6 of the library. Dropped support for
+ versions < 2.4.
+ ! fix, sfprobe plugin: added (and documented) conditional for optional
+ export of classification info.
+ ! fix, aggregate_primitives: field_type is now also allowed for pmacctd
+ and uaccd daemons so that it can be used for NetFlow v9/IPFIX export
+ (nfprobe plugin) purposes.
+ ! fix, pre_tag_map: if no 'ip' keyword is specified, an entry of the
+ map gets recirculated in order to be set for both v4 and v6 maps. If
+ a 'set_label' is also specified, it was causing a SEGV. Now the label
+ is correctly copied in case of recirculation.
+ ! fix, zmq_common.c: added option for non-blocking p_zmq_send_bin() as
+ otherwise program would block in case of no consumers (main use-case:
+ flow replication over ZeroMQ queues); as a result, a generous hwm
+ value was added on both sides of these queues.
+ ! fix, zmq_common.c: ZAP socket moved inside thread to prevent failed
+ assert() when compiling with gcc7/gcc8. Also a single user/password
+ auto-generated combination is used for all plugins.
+ ! fix, signals.c: SIGUSR1 handler for nfacctd and nfacctd is changed to
+ syncronous in order to prevent race conditions. Also, in pmacctd,
+ upon sending SIGUSR1, stats were not printed when reading packets
+ from a pcap_interfaaces_map.
+ ! fix, plugin_cmn_json.c: if leaving protocols numerical (ie. proto,
+ tunnel_proto primitives), convert them to string-represented numbers
+ for data consistency for consumers.
+ ! fix, util.c: open_output_file(), if file exists and it's a FIFO then
+ set O_NONBLOCK when opening.
+ ! fix, pretag.c: pretag_index_report() was reporting incorrect info of
+ the hash structure built for the maps_index feature. Its format was
+ has also changed to be better parseable.
+ ! fix, compile time warnings: several warnings were addressed including
+ but not restricted to -Wformat ones. Also an annotation was added to
+ the Log function to inform the compiler it's a printf-style function,
+ allowing it to give warnings for argument mismatches.
+ - --enable-ipv6 configure script switch has been deprecated and, as a
+ result, IPv6 support was made mandatory.
+ - BGP daemon: removed unused pathlimit field from bgp_attr structure.
+ - pmacct client: removed deprecated SYM field from from formatted and
+ CSV headers.
+- Build with support for
+ * ZeroMQ
+ * Maxmind GeoIP DB v2
+
+-------------------------------------------------------------------
Old:
----
pmacct-1.7.2.tar.gz
New:
----
pmacct-1.7.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pmacct.spec ++++++
--- /var/tmp/diff_new_pack.PHkdpp/_old 2019-05-27 08:39:13.627051286 +0200
+++ /var/tmp/diff_new_pack.PHkdpp/_new 2019-05-27 08:39:13.631051285 +0200
@@ -1,7 +1,7 @@
#
# spec file for package pmacct
#
-# 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
@@ -15,6 +15,7 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates
@@ -23,7 +24,7 @@
%bcond_with ndpi
Name: pmacct
-Version: 1.7.2
+Version: 1.7.3
Release: 0
Summary: Accounting and aggregation toolsuite for IPv4 and IPv6
License: GPL-2.0-only
@@ -52,6 +53,8 @@
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(geoip)
BuildRequires: pkgconfig(jansson)
+BuildRequires: pkgconfig(libmaxminddb)
+BuildRequires: pkgconfig(libzmq)
%if %{with ndpi}
BuildRequires: pkgconfig(libndpi)
%endif
@@ -83,7 +86,6 @@
--docdir="%{_docdir}/%{name}" \
--enable-mmap \
--enable-l2 \
- --enable-ipv6 \
--enable-mysql \
--enable-pgsql \
--enable-sqlite3 \
@@ -102,7 +104,6 @@
make %{?_smp_mflags}
-
%install
%make_install
@@ -128,9 +129,10 @@
# remove unneeded files
rm -rf %{buildroot}/%{_datadir}/pmacct/examples/lg
+rm -rf %{buildroot}/%{_libdir}/pmacct/examples/lg
+rm -rf %{buildroot}/%{_libdir}/pmacct/examples/custom/libcustom.la
rm -rf %{buildroot}/%{_datadir}/pmacct/{CONFIG-KEYS,FAQS,QUICKSTART,UPGRADE,docs}
-
%pre
%service_add_pre nfacctd.service pmacctd.service sfacctd.service
++++++ pmacct-1.7.2.tar.gz -> pmacct-1.7.3.tar.gz ++++++
++++ 26115 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package os-autoinst for openSUSE:Factory checked in at 2019-05-27 08:38:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old)
and /work/SRC/openSUSE:Factory/.os-autoinst.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-autoinst"
Mon May 27 08:38:49 2019 rev:61 rq:705312 version:4.5.1558691185.f7da5cd0
Changes:
--------
--- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst-test.changes 2019-05-24 11:30:36.013418595 +0200
+++ /work/SRC/openSUSE:Factory/.os-autoinst.new.5148/os-autoinst-test.changes 2019-05-27 08:39:07.919053512 +0200
@@ -1,0 +2,7 @@
+Fri May 24 22:50:36 UTC 2019 - okurz(a)suse.com
+
+- Update to version 4.5.1558691185.f7da5cd0:
+ * Avoid "unitialized value in string eq" warning
+ * Add quiet option to wait_serial()
+
+-------------------------------------------------------------------
os-autoinst.changes: same change
Old:
----
os-autoinst-4.5.1558432600.6c62e09d.obscpio
New:
----
os-autoinst-4.5.1558691185.f7da5cd0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ os-autoinst-test.spec ++++++
--- /var/tmp/diff_new_pack.iGXgmM/_old 2019-05-27 08:39:09.355052951 +0200
+++ /var/tmp/diff_new_pack.iGXgmM/_new 2019-05-27 08:39:09.355052951 +0200
@@ -19,7 +19,7 @@
%define name_ext -test
%define short_name os-autoinst
Name: %{short_name}%{?name_ext}
-Version: 4.5.1558432600.6c62e09d
+Version: 4.5.1558691185.f7da5cd0
Release: 0
Summary: test package for os-autoinst
License: GPL-2.0-or-later
++++++ os-autoinst.spec ++++++
--- /var/tmp/diff_new_pack.iGXgmM/_old 2019-05-27 08:39:09.375052944 +0200
+++ /var/tmp/diff_new_pack.iGXgmM/_new 2019-05-27 08:39:09.375052944 +0200
@@ -17,7 +17,7 @@
Name: os-autoinst
-Version: 4.5.1558432600.6c62e09d
+Version: 4.5.1558691185.f7da5cd0
Release: 0
Summary: OS-level test automation
License: GPL-2.0-or-later
++++++ os-autoinst-4.5.1558432600.6c62e09d.obscpio -> os-autoinst-4.5.1558691185.f7da5cd0.obscpio ++++++
/work/SRC/openSUSE:Factory/os-autoinst/os-autoinst-4.5.1558432600.6c62e09d.obscpio /work/SRC/openSUSE:Factory/.os-autoinst.new.5148/os-autoinst-4.5.1558691185.f7da5cd0.obscpio differ: char 50, line 1
++++++ os-autoinst.obsinfo ++++++
--- /var/tmp/diff_new_pack.iGXgmM/_old 2019-05-27 08:39:09.435052920 +0200
+++ /var/tmp/diff_new_pack.iGXgmM/_new 2019-05-27 08:39:09.435052920 +0200
@@ -1,5 +1,5 @@
name: os-autoinst
-version: 4.5.1558432600.6c62e09d
-mtime: 1558432600
-commit: 6c62e09dfa463ac608dd6ef071b99f60c37dabfb
+version: 4.5.1558691185.f7da5cd0
+mtime: 1558691185
+commit: f7da5cd086dac10771e09db715116188313159f3
1
0
Hello community,
here is the log from the commit of package python-readthedocs-sphinx-ext for openSUSE:Factory checked in at 2019-05-27 08:38:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-readthedocs-sphinx-ext (Old)
and /work/SRC/openSUSE:Factory/.python-readthedocs-sphinx-ext.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-readthedocs-sphinx-ext"
Mon May 27 08:38:44 2019 rev:1 rq:705299 version:0.5.17
Changes:
--------
New Changes file:
--- /dev/null 2019-05-02 15:18:01.516169518 +0200
+++ /work/SRC/openSUSE:Factory/.python-readthedocs-sphinx-ext.new.5148/python-readthedocs-sphinx-ext.changes 2019-05-27 08:38:47.671061405 +0200
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------
+Fri May 24 19:58:32 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Initial commit, needed by rdt_theme
New:
----
LICENSE
python-readthedocs-sphinx-ext.changes
python-readthedocs-sphinx-ext.spec
readthedocs-sphinx-ext-0.5.17.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-readthedocs-sphinx-ext.spec ++++++
#
# spec file for package python-readthedocs-sphinx-ext
#
# 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-readthedocs-sphinx-ext
Version: 0.5.17
Release: 0
Summary: Sphinx extension for Read the Docs overrides
License: MIT
Group: Development/Languages/Python
URL: http://github.com/rtfd/readthedocs-sphinx-ext
Source: https://files.pythonhosted.org/packages/source/r/readthedocs-sphinx-ext/rea…
# https://github.com/rtfd/readthedocs-sphinx-ext/pull/65
Source1: https://raw.githubusercontent.com/rtfd/readthedocs-sphinx-ext/master/LICENSE
BuildRequires: %{python_module Sphinx}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-Sphinx
Requires: python-requests
BuildArch: noarch
%python_subpackages
%description
This module adds extensions that make Sphinx easier to use.
Some of them require Read the Docs features,
others are just code that we ship and enable during builds on Read the Docs.
%prep
%setup -q -n readthedocs-sphinx-ext-%{version}
cp %{SOURCE1} .
%build
%python_build
%install
%python_install
%python_expand rm -r %{buildroot}%{$python_sitelib}/tests/
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
%pytest
%files %{python_files}
%doc README.rst
%license LICENSE
%{python_sitelib}/*
%changelog
++++++ LICENSE ++++++
Copyright (c) 2010-2019 Read the Docs, Inc & contributors
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.
1
0
Hello community,
here is the log from the commit of package python-testinfra for openSUSE:Factory checked in at 2019-05-27 08:38:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-testinfra (Old)
and /work/SRC/openSUSE:Factory/.python-testinfra.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-testinfra"
Mon May 27 08:38:34 2019 rev:6 rq:705297 version:3.0.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-testinfra/python-testinfra.changes 2019-05-22 15:39:34.302508205 +0200
+++ /work/SRC/openSUSE:Factory/.python-testinfra.new.5148/python-testinfra.changes 2019-05-27 08:38:38.755064881 +0200
@@ -1,0 +2,6 @@
+Fri May 24 19:26:49 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 3.0.4:
+ * Add support for ansible lxc and lxd connections
+
+-------------------------------------------------------------------
Old:
----
testinfra-3.0.3.tar.gz
New:
----
testinfra-3.0.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-testinfra.spec ++++++
--- /var/tmp/diff_new_pack.wdXEQI/_old 2019-05-27 08:38:39.635064537 +0200
+++ /var/tmp/diff_new_pack.wdXEQI/_new 2019-05-27 08:38:39.655064529 +0200
@@ -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-testinfra
-Version: 3.0.3
+Version: 3.0.4
Release: 0
Summary: Test infrastructures
License: Apache-2.0
++++++ testinfra-3.0.3.tar.gz -> testinfra-3.0.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/CHANGELOG.rst new/testinfra-3.0.4/CHANGELOG.rst
--- old/testinfra-3.0.3/CHANGELOG.rst 2019-05-09 23:33:33.000000000 +0200
+++ new/testinfra-3.0.4/CHANGELOG.rst 2019-05-18 15:40:43.000000000 +0200
@@ -2,6 +2,11 @@
Changelog
=========
+3.0.4
+=====
+
+* Add support for ansible lxc and lxd connections
+
3.0.3
=====
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/PKG-INFO new/testinfra-3.0.4/PKG-INFO
--- old/testinfra-3.0.3/PKG-INFO 2019-05-09 23:54:17.000000000 +0200
+++ new/testinfra-3.0.4/PKG-INFO 2019-05-18 15:41:22.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: testinfra
-Version: 3.0.3
+Version: 3.0.4
Summary: Test infrastructures
Home-page: https://github.com/philpep/testinfra
Author: Philippe Pepiot
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/doc/source/backends.rst new/testinfra-3.0.4/doc/source/backends.rst
--- old/testinfra-3.0.3/doc/source/backends.rst 2019-05-09 22:56:12.000000000 +0200
+++ new/testinfra-3.0.4/doc/source/backends.rst 2019-05-18 15:38:58.000000000 +0200
@@ -108,10 +108,10 @@
$ py.test --hosts='winrm://vagrant@127.0.0.1:2200?read_timeout_sec=120&operation_timeout_sec=100'
-LXC
-~~~
+LXC/LXD
+~~~~~~~
-The LXC backend can be used to test *running* LXC containers. It uses the
+The LXC backend can be used to test *running* LXC or LXD containers. It uses the
`lxc exec <https://linuxcontainers.org/lxd/getting-started-cli/>`_ command::
$ py.test --hosts='lxc://container_name'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/test/test_modules.py new/testinfra-3.0.4/test/test_modules.py
--- old/testinfra-3.0.3/test/test_modules.py 2019-05-09 23:53:28.000000000 +0200
+++ new/testinfra-3.0.4/test/test_modules.py 2019-05-18 15:38:54.000000000 +0200
@@ -341,7 +341,6 @@
assert variables["groups"] == {
"all": ["debian_stretch"],
"testgroup": ["debian_stretch"],
- "ungrouped": [],
}
with pytest.raises(host.ansible.AnsibleException) as excinfo:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/test-requirements.txt new/testinfra-3.0.4/test-requirements.txt
--- old/testinfra-3.0.3/test-requirements.txt 2019-05-07 22:51:21.000000000 +0200
+++ new/testinfra-3.0.4/test-requirements.txt 2019-05-18 15:38:54.000000000 +0200
@@ -5,4 +5,4 @@
tornado<5
salt
pywinrm
-ansible>=2.4,<3
+ansible>=2.8,<3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/testinfra/utils/ansible_runner.py new/testinfra-3.0.4/testinfra/utils/ansible_runner.py
--- old/testinfra-3.0.3/testinfra/utils/ansible_runner.py 2019-05-09 23:53:28.000000000 +0200
+++ new/testinfra-3.0.4/testinfra/utils/ansible_runner.py 2019-05-18 15:38:58.000000000 +0200
@@ -64,9 +64,11 @@
return testinfra.get_host('local://')
hostvars = inventory['_meta'].get('hostvars', {}).get(host, {})
connection = hostvars.get('ansible_connection', 'ssh')
- if connection not in ('ssh', 'local', 'docker'):
+ if connection not in ('ssh', 'local', 'docker', 'lxc', 'lxd'):
raise NotImplementedError(
'unhandled ansible_connection {}'.format(connection))
+ if connection == 'lxd':
+ connection = 'lxc'
if connection == 'ssh':
connection = 'paramiko'
testinfra_host = hostvars.get('ansible_host', host)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/testinfra-3.0.3/testinfra.egg-info/PKG-INFO new/testinfra-3.0.4/testinfra.egg-info/PKG-INFO
--- old/testinfra-3.0.3/testinfra.egg-info/PKG-INFO 2019-05-09 23:54:17.000000000 +0200
+++ new/testinfra-3.0.4/testinfra.egg-info/PKG-INFO 2019-05-18 15:41:22.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: testinfra
-Version: 3.0.3
+Version: 3.0.4
Summary: Test infrastructures
Home-page: https://github.com/philpep/testinfra
Author: Philippe Pepiot
1
0
Hello community,
here is the log from the commit of package python-validators for openSUSE:Factory checked in at 2019-05-27 08:38:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-validators (Old)
and /work/SRC/openSUSE:Factory/.python-validators.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-validators"
Mon May 27 08:38:31 2019 rev:6 rq:705296 version:0.13.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-validators/python-validators.changes 2019-05-24 11:31:02.497411774 +0200
+++ /work/SRC/openSUSE:Factory/.python-validators.new.5148/python-validators.changes 2019-05-27 08:38:32.527067308 +0200
@@ -1,0 +2,6 @@
+Fri May 24 19:11:44 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.13.0:
+ * Added new validator: es_doi, es_nif, es_cif, es_nie (#121, pull request courtesy kingbuzzman)
+
+-------------------------------------------------------------------
Old:
----
validators-0.12.6.tar.gz
New:
----
validators-0.13.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-validators.spec ++++++
--- /var/tmp/diff_new_pack.UjDHsa/_old 2019-05-27 08:38:33.103067083 +0200
+++ /var/tmp/diff_new_pack.UjDHsa/_new 2019-05-27 08:38:33.107067082 +0200
@@ -18,26 +18,25 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-validators
-Version: 0.12.6
+Version: 0.13.0
Release: 0
Summary: Python Data Validation
License: MIT
Group: Development/Languages/Python
-Url: https://github.com/kvesteri/validators
+URL: https://github.com/kvesteri/validators
Source: https://files.pythonhosted.org/packages/source/v/validators/validators-%{ve…
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
+Requires: python-decorator >= 3.4.0
+Requires: python-six >= 1.4.0
+BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module decorator >= 3.4.0}
-BuildRequires: %{python_module nose}
+BuildRequires: %{python_module isort >= 4.2.2}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module six >= 1.4.0}
# /SECTION
-Requires: python-decorator >= 3.4.0
-Requires: python-six >= 1.4.0
-BuildArch: noarch
-
%python_subpackages
%description
++++++ validators-0.12.6.tar.gz -> validators-0.13.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/CHANGES.rst new/validators-0.13.0/CHANGES.rst
--- old/validators-0.12.6/CHANGES.rst 2019-05-08 08:47:31.000000000 +0200
+++ new/validators-0.13.0/CHANGES.rst 2019-05-20 09:50:32.000000000 +0200
@@ -2,6 +2,12 @@
---------
+0.13.0 (2019-05-20)
+^^^^^^^^^^^^^^^^^^^
+
+- Added new validator: ``es_doi``, ``es_nif``, ``es_cif``, ``es_nie`` (#121, pull request courtesy kingbuzzman)
+
+
0.12.6 (2019-05-08)
^^^^^^^^^^^^^^^^^^^
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/PKG-INFO new/validators-0.13.0/PKG-INFO
--- old/validators-0.12.6/PKG-INFO 2019-05-08 08:49:11.000000000 +0200
+++ new/validators-0.13.0/PKG-INFO 2019-05-20 09:51:02.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: validators
-Version: 0.12.6
+Version: 0.13.0
Summary: Python Data Validation for Humans™.
Home-page: https://github.com/kvesteri/validators
Author: Konsta Vesterinen
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/docs/index.rst new/validators-0.13.0/docs/index.rst
--- old/validators-0.12.6/docs/index.rst 2017-06-03 16:07:19.000000000 +0200
+++ new/validators-0.13.0/docs/index.rst 2019-05-20 09:49:33.000000000 +0200
@@ -32,7 +32,8 @@
pip install validators
-Currently ``validators`` supports python versions 2.7, 3.3, 3.4, 3.5 and PyPy.
+Currently ``validators`` supports python versions 2.7, 3.3, 3.4, 3.5, 3.6, 3.7
+and PyPy.
Basic validators
@@ -193,6 +194,32 @@
i18n validators
===============
+Spanish
+-------
+
+.. module:: validators.i18n.es
+
+es_doi
+^^^^^^
+
+.. autofunction:: es_doi
+
+es_nif
+^^^^^^
+
+.. autofunction:: es_nif
+
+es_nie
+^^^^^^
+
+.. autofunction:: es_nie
+
+es_cif
+^^^^^^
+
+.. autofunction:: es_cif
+
+
Finnish
-------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/tests/i18n/test_es.py new/validators-0.13.0/tests/i18n/test_es.py
--- old/validators-0.12.6/tests/i18n/test_es.py 1970-01-01 01:00:00.000000000 +0100
+++ new/validators-0.13.0/tests/i18n/test_es.py 2019-05-20 09:49:33.000000000 +0200
@@ -0,0 +1,105 @@
+# -*- coding: utf-8 -*-
+import pytest
+
+from validators import ValidationFailure
+from validators.i18n.es import es_cif, es_doi, es_nie, es_nif
+
+
+(a)pytest.mark.parametrize(('value',), [
+ ('B25162520',),
+ ('U4839822F',),
+ ('B96817697',),
+ ('P7067074J',),
+ ('Q7899705C',),
+ ('C75098681',),
+ ('G76061860',),
+ ('C71345375',),
+ ('G20558169',),
+ ('U5021960I',),
+])
+def test_returns_true_on_valid_cif(value):
+ assert es_cif(value)
+
+
+(a)pytest.mark.parametrize(('value',), [
+ ('12345',),
+ ('ABCDEFGHI',),
+ ('Z5021960I',),
+])
+def test_returns_false_on_invalid_cif(value):
+ result = es_cif(value)
+ assert isinstance(result, ValidationFailure)
+
+
+(a)pytest.mark.parametrize(('value',), [
+ ('X0095892M',),
+ ('X8868108K',),
+ ('X2911154K',),
+ ('Y2584969J',),
+ ('X7536157T',),
+ ('Y5840388N',),
+ ('Z2915723H',),
+ ('Y4002236C',),
+ ('X7750702R',),
+ ('Y0408759V',),
+])
+def test_returns_true_on_valid_nie(value):
+ assert es_nie(value)
+
+
+(a)pytest.mark.parametrize(('value',), [
+ ('K0000023T',),
+ ('L0000024R',),
+ ('M0000025W',),
+ ('00000026A',),
+ ('00000027G',),
+ ('00000028M',),
+ ('00000029Y',),
+ ('00000030F',),
+ ('00000031P',),
+ ('00000032D',),
+ ('00000033X',),
+ ('00000034B',),
+ ('00000035N',),
+ ('00000036J',),
+ ('00000037Z',),
+ ('00000038S',),
+ ('00000039Q',),
+ ('00000040V',),
+ ('00000041H',),
+ ('00000042L',),
+ ('00000043C',),
+ ('00000044K',),
+ ('00000045E',),
+])
+def test_returns_true_on_valid_nif(value):
+ assert es_nif(value)
+
+
+(a)pytest.mark.parametrize(('value',), [
+ ('12345',),
+ ('X0000000T',),
+ ('00000000T',),
+ ('00000001R',),
+])
+def test_returns_false_on_invalid_nif(value):
+ result = es_nif(value)
+ assert isinstance(result, ValidationFailure)
+
+
+(a)pytest.mark.parametrize(('value',), [
+ # CIFs
+ ('B25162520',),
+ ('U4839822F',),
+ ('B96817697',),
+ # NIEs
+ ('X0095892M',),
+ ('X8868108K',),
+ ('X2911154K',),
+ # NIFs
+ ('26643189N',),
+ ('07060225F',),
+ ('49166693F',),
+])
+def test_returns_true_on_valid_doi(value):
+ assert es_doi(value)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/tests/i18n/test_fi.py new/validators-0.13.0/tests/i18n/test_fi.py
--- old/validators-0.12.6/tests/i18n/test_fi.py 2018-11-13 13:11:17.000000000 +0100
+++ new/validators-0.13.0/tests/i18n/test_fi.py 2019-05-20 09:49:33.000000000 +0200
@@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
import pytest
-from validators import fi_business_id, fi_ssn, ValidationFailure
+from validators import ValidationFailure
+from validators.i18n.fi import fi_business_id, fi_ssn
@pytest.mark.parametrize(('value',), [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/validators/__init__.py new/validators-0.13.0/validators/__init__.py
--- old/validators-0.12.6/validators/__init__.py 2019-05-08 08:47:35.000000000 +0200
+++ new/validators-0.13.0/validators/__init__.py 2019-05-20 09:49:33.000000000 +0200
@@ -1,17 +1,22 @@
-from .between import between # noqa
-from .domain import domain # noqa
-from .email import email # noqa
-from .extremes import Max, Min # noqa
-from .hashes import md5, sha1, sha224, sha256, sha512 # noqa
-from .i18n import fi_business_id, fi_ssn # noqa
-from .iban import iban # noqa
-from .ip_address import ipv4, ipv6 # noqa
-from .length import length # noqa
-from .mac_address import mac_address # noqa
-from .slug import slug # noqa
-from .truthy import truthy # noqa
-from .url import url # noqa
-from .utils import ValidationFailure, validator # noqa
-from .uuid import uuid # noqa
+from .between import between
+from .domain import domain
+from .email import email
+from .extremes import Max, Min
+from .hashes import md5, sha1, sha224, sha256, sha512
+from .i18n import fi_business_id, fi_ssn
+from .iban import iban
+from .ip_address import ipv4, ipv6
+from .length import length
+from .mac_address import mac_address
+from .slug import slug
+from .truthy import truthy
+from .url import url
+from .utils import ValidationFailure, validator
+from .uuid import uuid
-__version__ = '0.12.6'
+__all__ = ('between', 'domain', 'email', 'Max', 'Min', 'md5', 'sha1', 'sha224',
+ 'sha256', 'sha512', 'fi_business_id', 'fi_ssn', 'iban', 'ipv4',
+ 'ipv6', 'length', 'mac_address', 'slug', 'truthy', 'url',
+ 'ValidationFailure', 'validator', 'uuid')
+
+__version__ = '0.13.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/validators/i18n/__init__.py new/validators-0.13.0/validators/i18n/__init__.py
--- old/validators-0.12.6/validators/i18n/__init__.py 2015-10-10 08:47:54.000000000 +0200
+++ new/validators-0.13.0/validators/i18n/__init__.py 2019-05-20 09:49:33.000000000 +0200
@@ -1 +1,4 @@
+# TODO: remove, let the user import it if they really want it
from .fi import fi_business_id, fi_ssn # noqa
+
+__all__ = ('fi_business_id', 'fi_ssn')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/validators/i18n/es.py new/validators-0.13.0/validators/i18n/es.py
--- old/validators-0.12.6/validators/i18n/es.py 1970-01-01 01:00:00.000000000 +0100
+++ new/validators-0.13.0/validators/i18n/es.py 2019-05-20 09:49:33.000000000 +0200
@@ -0,0 +1,200 @@
+# -*- coding: utf-8 -*-
+from validators.utils import validator
+
+__all__ = ('es_cif', 'es_nif', 'es_nie', 'es_doi',)
+
+
+def nif_nie_validation(doi, number_by_letter, special_cases):
+ """
+ Validate if the doi is a NIF or a NIE.
+ :param doi: DOI to validate.
+ :return: boolean if it's valid.
+ """
+ doi = doi.upper()
+ if doi in special_cases:
+ return False
+
+ table = 'TRWAGMYFPDXBNJZSQVHLCKE'
+
+ if len(doi) != 9:
+ return False
+
+ control = doi[8]
+
+ # If it is not a DNI, convert the first letter to the corresponding
+ # digit
+ numbers = number_by_letter.get(doi[0], doi[0]) + doi[1:8]
+
+ return numbers.isdigit() and control == table[int(numbers) % 23]
+
+
+@validator
+def es_cif(doi):
+ """
+ Validate a Spanish CIF.
+
+ Each company in Spain prior to 2008 had a distinct CIF and has been
+ discontinued. For more information see `wikipedia.org/cif`_.
+
+ The new replacement is to use NIF for absolutely everything. The issue is
+ that there are "types" of NIFs now: company, person[citizen vs recident]
+ all distinguished by the first character of the DOI. For this reason we
+ will continue to call CIF NIFs that are used for companies.
+
+ This validator is based on `generadordni.es`_.
+
+ .. _generadordni.es:
+ https://generadordni.es/
+
+ .. _wikipedia.org/cif:
+ https://es.wikipedia.org/wiki/C%C3%B3digo_de_identificaci%C3%B3n_fiscal
+
+ Examples::
+
+ >>> es_cif('B25162520')
+ True
+
+ >>> es_cif('B25162529')
+ ValidationFailure(func=es_cif, args=...)
+
+ .. versionadded:: 0.13.0
+
+ :param doi: DOI to validate
+ """
+ doi = doi.upper()
+
+ if len(doi) != 9:
+ return False
+
+ table = 'JABCDEFGHI'
+ first_chr = doi[0]
+ doi_body = doi[1:8]
+ control = doi[8]
+
+ if not doi_body.isdigit():
+ return False
+
+ odd_result = 0
+ even_result = 0
+ for index, char in enumerate(doi_body):
+ if index % 2 == 0:
+ # Multiply each each odd position doi digit by 2 and sum it all
+ # together
+ odd_result += sum(map(int, str(int(char) * 2)))
+ else:
+ even_result += int(char)
+
+ res = (10 - (even_result + odd_result) % 10) % 10
+
+ if first_chr in 'ABEH': # Number type
+ return str(res) == control
+ elif first_chr in 'PSQW': # Letter type
+ return table[res] == control
+ elif first_chr not in 'CDFGJNRUV':
+ return False
+
+ return control == str(res) or control == table[res]
+
+
+@validator
+def es_nif(doi):
+ """
+ Validate a Spanish NIF.
+
+ Each entity, be it person or company in Spain has a distinct NIF. Since
+ we've designated CIF to be a company NIF, this NIF is only for person.
+ For more information see `wikipedia.org/nif`_.
+
+ This validator is based on `generadordni.es`_.
+
+ .. _generadordni.es:
+ https://generadordni.es/
+
+ .. _wikipedia.org/nif:
+ https://es.wikipedia.org/wiki/N%C3%BAmero_de_identificaci%C3%B3n_fiscal
+
+ Examples::
+
+ >>> es_nif('26643189N')
+ True
+
+ >>> es_nif('26643189X')
+ ValidationFailure(func=es_nif, args=...)
+
+ .. versionadded:: 0.13.0
+
+ :param doi: DOI to validate
+ """
+ number_by_letter = {'L': '0', 'M': '0', 'K': '0'}
+ special_cases = ['X0000000T', '00000000T', '00000001R']
+ return nif_nie_validation(doi, number_by_letter, special_cases)
+
+
+@validator
+def es_nie(doi):
+ """
+ Validate a Spanish NIE.
+
+ The NIE is a tax identification number in Spain, known in Spanish as the
+ NIE, or more formally the Número de identidad de extranjero. For more
+ information see `wikipedia.org/nie`_.
+
+ This validator is based on `generadordni.es`_.
+
+ .. _generadordni.es:
+ https://generadordni.es/
+
+ .. _wikipedia.org/nie:
+ https://es.wikipedia.org/wiki/N%C3%BAmero_de_identidad_de_extranjero
+
+ Examples::
+
+ >>> es_nie('X0095892M')
+ True
+
+ >>> es_nie('X0095892X')
+ ValidationFailure(func=es_nie, args=...)
+
+ .. versionadded:: 0.13.0
+
+ :param doi: DOI to validate
+ """
+ number_by_letter = {'X': '0', 'Y': '1', 'Z': '2'}
+ special_cases = ['X0000000T']
+
+ # NIE must must start with X Y or Z
+ if not doi or doi[0] not in number_by_letter.keys():
+ return False
+
+ return nif_nie_validation(doi, number_by_letter, special_cases)
+
+
+@validator
+def es_doi(doi):
+ """
+ Validate a Spanish DOI.
+
+ A DOI in spain is all NIF / CIF / NIE / DNI -- a digital ID. For more
+ information see `wikipedia.org/doi`_.
+
+ This validator is based on `generadordni.es`_.
+
+ .. _generadordni.es:
+ https://generadordni.es/
+
+ .. _wikipedia.org/doi:
+ https://es.wikipedia.org/wiki/Identificador_de_objeto_digital
+
+ Examples::
+
+ >>> es_doi('X0095892M')
+ True
+
+ >>> es_doi('X0095892X')
+ ValidationFailure(func=es_doi, args=...)
+
+ .. versionadded:: 0.13.0
+
+ :param doi: DOI to validate
+ """
+ return es_nie(doi) or es_nif(doi) or es_cif(doi)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/validators.egg-info/PKG-INFO new/validators-0.13.0/validators.egg-info/PKG-INFO
--- old/validators-0.12.6/validators.egg-info/PKG-INFO 2019-05-08 08:49:11.000000000 +0200
+++ new/validators-0.13.0/validators.egg-info/PKG-INFO 2019-05-20 09:51:02.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: validators
-Version: 0.12.6
+Version: 0.13.0
Summary: Python Data Validation for Humans™.
Home-page: https://github.com/kvesteri/validators
Author: Konsta Vesterinen
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.12.6/validators.egg-info/SOURCES.txt new/validators-0.13.0/validators.egg-info/SOURCES.txt
--- old/validators-0.12.6/validators.egg-info/SOURCES.txt 2019-05-08 08:49:11.000000000 +0200
+++ new/validators-0.13.0/validators.egg-info/SOURCES.txt 2019-05-20 09:51:02.000000000 +0200
@@ -27,6 +27,7 @@
tests/test_uuid.py
tests/test_validation_failure.py
tests/i18n/__init__.py
+tests/i18n/test_es.py
tests/i18n/test_fi.py
validators/__init__.py
validators/between.py
@@ -50,4 +51,5 @@
validators.egg-info/requires.txt
validators.egg-info/top_level.txt
validators/i18n/__init__.py
+validators/i18n/es.py
validators/i18n/fi.py
\ No newline at end of file
1
0