Hello community, here is the log from the commit of package python-agate-excel for openSUSE:Factory checked in at 2019-04-18 09:56:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-agate-excel (Old) and /work/SRC/openSUSE:Factory/.python-agate-excel.new.17052 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-agate-excel" Thu Apr 18 09:56:20 2019 rev:3 rq:695032 version:0.2.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-agate-excel/python-agate-excel.changes 2019-02-27 15:10:27.982367529 +0100 +++ /work/SRC/openSUSE:Factory/.python-agate-excel.new.17052/python-agate-excel.changes 2019-04-18 09:56:22.857339645 +0200 @@ -1,0 +2,16 @@ +Wed Apr 17 08:54:32 UTC 2019 - pgajdos@suse.com + +- version update to 0.2.3 + * Fix bug in accepting ``column_names`` as keyword argument. + * Add a ``reset_dimensions`` argument to :meth:`.Table.from_xlsx` + to recalculate the data's dimensions, instead of trusting those + in the file's properties. + * Include tests and examples in distribution. + * agate-excel is now tested against Python 3.6 and 3.7. + * Drop support for Python 3.3 (end-of-life was September 29, 2017). + * Add support for openpyxl 2.6.0. +- deleted patches + - no-column.patch (upstreamed) + - row-offset.patch (upstreamed) + +------------------------------------------------------------------- Old: ---- 0.2.2.tar.gz no-column.patch row-offset.patch New: ---- 0.2.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-agate-excel.spec ++++++ --- /var/tmp/diff_new_pack.WTUhFY/_old 2019-04-18 09:56:23.297339922 +0200 +++ /var/tmp/diff_new_pack.WTUhFY/_new 2019-04-18 09:56:23.297339922 +0200 @@ -18,15 +18,13 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-agate-excel -Version: 0.2.2 +Version: 0.2.3 Release: 0 Summary: Read support for Excel files (xls and xlsx) for agate License: MIT Group: Development/Languages/Python URL: https://github.com/wireservice/agate-excel Source: https://github.com/wireservice/agate-excel/archive/%{version}.tar.gz -Patch0: no-column.patch -Patch1: row-offset.patch BuildRequires: %{python_module agate >= 1.5.0} BuildRequires: %{python_module openpyxl >= 2.3.0} BuildRequires: %{python_module setuptools} @@ -45,7 +43,6 @@ %prep %setup -q -n agate-excel-%{version} -%autopatch -p1 sed -i -e '/^#!\//, 1d' agateexcel/*.py ++++++ 0.2.2.tar.gz -> 0.2.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.2/.travis.yml new/agate-excel-0.2.3/.travis.yml --- old/agate-excel-0.2.2/.travis.yml 2018-01-28 06:46:44.000000000 +0100 +++ new/agate-excel-0.2.3/.travis.yml 2019-03-16 17:10:42.000000000 +0100 @@ -1,9 +1,11 @@ +dist: xenial language: python python: - "2.7" - - "3.3" - "3.4" - "3.5" + - "3.6" + - "3.7" # command to install dependencies install: - if [[ $TRAVIS_PYTHON_VERSION == 3* ]]; then pip install -r requirements-py3.txt; else pip install -r requirements-py2.txt; fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.2/AUTHORS.rst new/agate-excel-0.2.3/AUTHORS.rst --- old/agate-excel-0.2.2/AUTHORS.rst 2018-01-28 06:46:44.000000000 +0100 +++ new/agate-excel-0.2.3/AUTHORS.rst 2019-03-16 17:10:42.000000000 +0100 @@ -4,3 +4,7 @@ * `James McKinney https://github.com/jpmckinney`_ * `Ben Welsh https://github.com/palewire`_ * `Peter M. Landwehr https://github.com/pmlandwehr`_ +* `Tim Freund https://github.com/timfreund`_ +* `Jani Mikkonen https://github.com/rasjani`_ +* `Loïc Corbasson https://github.com/lcorbasson`_ +* `Robert Schütz https://github.com/dotlambda`_ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.2/CHANGELOG.rst new/agate-excel-0.2.3/CHANGELOG.rst --- old/agate-excel-0.2.2/CHANGELOG.rst 2018-01-28 06:46:44.000000000 +0100 +++ new/agate-excel-0.2.3/CHANGELOG.rst 2019-03-16 17:10:42.000000000 +0100 @@ -1,9 +1,19 @@ -0.2.2 +0.2.3 ----- +* Fix bug in accepting ``column_names`` as keyword argument. +* Add a ``reset_dimensions`` argument to :meth:`.Table.from_xlsx` to recalculate the data's dimensions, instead of trusting those in the file's properties. +* Include tests and examples in distribution. +* agate-excel is now tested against Python 3.6 and 3.7. +* Drop support for Python 3.3 (end-of-life was September 29, 2017). +* Add support for openpyxl 2.6.0. + +0.2.2 - January 28, 2018 +------------------------ + * Add an ``encoding_override`` argument to :meth:`.Table.from_xls` to override the encoding of the input XLS file. * Add a ``header`` argument to :meth:`.Table.from_xls` and :meth:`.Table.from_xlsx` to indicate the presence of a header row. -* Add a ``read_only`` argument to :meth:`.Table.from_xlsx` to allow disabling read-only mode for `some spreadsheets https://openpyxl.readthedocs.io/en/default/optimized.html#worksheet-dimensio...`_. +* Add a ``read_only`` argument to :meth:`.Table.from_xlsx` to allow disabling read-only mode for `some spreadsheets https://openpyxl.readthedocs.io/en/stable/optimized.html#worksheet-dimension...`_. 0.2.1 - February 28, 2017 ------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.2/MANIFEST.in new/agate-excel-0.2.3/MANIFEST.in --- old/agate-excel-0.2.2/MANIFEST.in 2018-01-28 06:46:44.000000000 +0100 +++ new/agate-excel-0.2.3/MANIFEST.in 2019-03-16 17:10:42.000000000 +0100 @@ -1,3 +1,5 @@ include COPYING include AUTHORS.rst include README.rst +recursive-include tests *.py +graft examples diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.2/agateexcel/table_xls.py new/agate-excel-0.2.3/agateexcel/table_xls.py --- old/agate-excel-0.2.2/agateexcel/table_xls.py 2018-01-28 06:46:44.000000000 +0100 +++ new/agate-excel-0.2.3/agateexcel/table_xls.py 2019-03-16 17:10:42.000000000 +0100 @@ -83,6 +83,11 @@ for i in range(len(columns[0])): rows.append([c[i] for c in columns]) + if 'column_names' in kwargs: + if not header: + column_names = kwargs['column_names'] + del kwargs['column_names'] + tables[sheet.name] = agate.Table(rows, column_names, **kwargs) if multiple: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.2/agateexcel/table_xlsx.py new/agate-excel-0.2.3/agateexcel/table_xlsx.py --- old/agate-excel-0.2.2/agateexcel/table_xlsx.py 2018-01-28 06:46:44.000000000 +0100 +++ new/agate-excel-0.2.3/agateexcel/table_xlsx.py 2019-03-16 17:10:42.000000000 +0100 @@ -14,7 +14,8 @@ NULL_TIME = datetime.time(0, 0, 0) -def from_xlsx(cls, path, sheet=None, skip_lines=0, header=True, read_only=True, **kwargs): +def from_xlsx(cls, path, sheet=None, skip_lines=0, header=True, read_only=True, + reset_dimensions=False, **kwargs): """ Parse an XLSX file. @@ -27,6 +28,9 @@ The number of rows to skip from the top of the sheet. :param header: If :code:`True`, the first row is assumed to contain column names. + :param reset_dimensions: + If :code:`True`, do not trust the dimensions in the file's properties, + and recalculate them based on the data in the file. """ if not isinstance(skip_lines, int): raise ValueError('skip_lines argument must be an int') @@ -57,7 +61,10 @@ column_names = None rows = [] - for i, row in enumerate(sheet.iter_rows(row_offset=skip_lines)): + if reset_dimensions: + sheet.reset_dimensions() + + for i, row in enumerate(sheet.iter_rows(min_row=skip_lines + 1)): if i == 0 and header: column_names = [None if c.value is None else six.text_type(c.value) for c in row] continue @@ -82,6 +89,11 @@ rows.append(values) + if 'column_names' in kwargs: + if not header: + column_names = kwargs['column_names'] + del kwargs['column_names'] + tables[sheet.title] = agate.Table(rows, column_names, **kwargs) f.close() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.2/docs/conf.py new/agate-excel-0.2.3/docs/conf.py --- old/agate-excel-0.2.2/docs/conf.py 2018-01-28 06:46:44.000000000 +0100 +++ new/agate-excel-0.2.3/docs/conf.py 2019-03-16 17:10:42.000000000 +0100 @@ -54,9 +54,9 @@ # built documents. # # The short X.Y version. -version = '0.2.2' +version = '0.2.3' # The full version, including alpha/beta/rc tags. -release = '0.2.2' +release = '0.2.3' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.2/requirements-py3.txt new/agate-excel-0.2.3/requirements-py3.txt --- old/agate-excel-0.2.2/requirements-py3.txt 2018-01-28 06:46:44.000000000 +0100 +++ new/agate-excel-0.2.3/requirements-py3.txt 2019-03-16 17:10:42.000000000 +0100 @@ -1,5 +1,5 @@ nose>=1.1.2 -tox>=1.3 +tox>=3.1.0 Sphinx>=1.2.2 sphinx_rtd_theme>=0.1.6 wheel>=0.24.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.2/setup.py new/agate-excel-0.2.3/setup.py --- old/agate-excel-0.2.2/setup.py 2018-01-28 06:46:44.000000000 +0100 +++ new/agate-excel-0.2.3/setup.py 2019-03-16 17:10:42.000000000 +0100 @@ -10,7 +10,7 @@ setup( name='agate-excel', - version='0.2.2', + version='0.2.3', description='agate-excel adds read support for Excel files (xls and xlsx) to agate.', long_description=open('README.rst').read(), author='Christopher Groskopf', @@ -26,9 +26,10 @@ 'Operating System :: OS Independent', 'Programming Language :: Python', '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', + 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Multimedia :: Graphics', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.2/tests/test_table_xls.py new/agate-excel-0.2.3/tests/test_table_xls.py --- old/agate-excel-0.2.2/tests/test_table_xls.py 2018-01-28 06:46:44.000000000 +0100 +++ new/agate-excel-0.2.3/tests/test_table_xls.py 2019-03-16 17:10:42.000000000 +0100 @@ -19,6 +19,10 @@ 'number', 'text', 'boolean', 'date', 'datetime', ] + self.user_provided_column_names = [ + 'alt number', 'alt text', 'alt boolean', 'alt date', 'alt datetime', + ] + self.column_types = [ agate.Number(), agate.Text(), agate.Boolean(), agate.Date(), agate.DateTime(), @@ -26,6 +30,13 @@ self.table = agate.Table(self.rows, self.column_names, self.column_types) + def test_from_xls_with_column_names(self): + table = agate.Table.from_xls('examples/test.xls', header=False, skip_lines=1, column_names=self.user_provided_column_names ) + + self.assertColumnNames(table, self.user_provided_column_names) + self.assertColumnTypes(table, [agate.Number, agate.Text, agate.Boolean, agate.Date, agate.DateTime]) + self.assertRows(table, [r.values() for r in self.table.rows]) + def test_from_xls(self): table = agate.Table.from_xls('examples/test.xls') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.2/tests/test_table_xlsx.py new/agate-excel-0.2.3/tests/test_table_xlsx.py --- old/agate-excel-0.2.2/tests/test_table_xlsx.py 2018-01-28 06:46:44.000000000 +0100 +++ new/agate-excel-0.2.3/tests/test_table_xlsx.py 2019-03-16 17:10:42.000000000 +0100 @@ -19,6 +19,10 @@ 'number', 'text', 'boolean', 'date', 'datetime', ] + self.user_provided_column_names = [ + 'number', 'text', 'boolean', 'date', 'datetime', + ] + self.column_types = [ agate.Number(), agate.Text(), agate.Boolean(), agate.Date(), agate.DateTime(), @@ -26,6 +30,13 @@ self.table = agate.Table(self.rows, self.column_names, self.column_types) + def test_from_xlsx_with_column_names(self): + table = agate.Table.from_xlsx('examples/test.xlsx', header=False, skip_lines=1, column_names=self.user_provided_column_names) + + self.assertColumnNames(table, self.user_provided_column_names) + self.assertColumnTypes(table, [agate.Number, agate.Text, agate.Boolean, agate.Date, agate.DateTime]) + self.assertRows(table, [r.values() for r in self.table.rows]) + def test_from_xlsx(self): table = agate.Table.from_xlsx('examples/test.xlsx') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agate-excel-0.2.2/tox.ini new/agate-excel-0.2.3/tox.ini --- old/agate-excel-0.2.2/tox.ini 2018-01-28 06:46:44.000000000 +0100 +++ new/agate-excel-0.2.3/tox.ini 2019-03-16 17:10:42.000000000 +0100 @@ -1,5 +1,5 @@ [tox] -envlist = py27,py33,py34,py35,pypy +envlist = py27,py34,py35,py36,py37,pypy [testenv] deps= @@ -11,15 +11,19 @@ deps= {[testenv]deps} -[testenv:py33] +[testenv:py34] deps= {[testenv]deps} -[testenv:py34] +[testenv:py35] deps= {[testenv:py33]deps} -[testenv:py35] +[testenv:py36] +deps= + {[testenv:py33]deps} + +[testenv:py37] deps= {[testenv:py33]deps}