Hello community,
here is the log from the commit of package python-openpyxl for openSUSE:Factory
checked in at 2019-03-12 09:54:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-openpyxl (Old)
and /work/SRC/openSUSE:Factory/.python-openpyxl.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-openpyxl"
Tue Mar 12 09:54:50 2019 rev:11 rq:683879 version:2.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-openpyxl/python-openpyxl.changes
2019-02-19 12:01:29.165104382 +0100
+++
/work/SRC/openSUSE:Factory/.python-openpyxl.new.28833/python-openpyxl.changes
2019-03-12 09:54:50.991520895 +0100
@@ -1,0 +2,17 @@
+Mon Mar 11 12:34:01 UTC 2019 - Tomáš Chvátal <[email protected]>
+
+- Update to 2.6.1:
+ * #1174 ReadOnlyCell.is_date does not work properly
+ * #1175 Cannot read Google Docs spreadsheet with a Pivot Table
+ * #1180 Charts created with openpyxl cannot be styled
+ * #1181 Cannot handle some numpy number types
+ * #1182 Exception when reading unknowable number formats
+ * #1186 Only last formatting rule for a range loaded
+ * #1191 Give MergedCell a value attribute
+ * #1193 Cannot process worksheets with comments
+ * #1197 Cannot process worksheets with both row and page breaks
+ * #1204 Cannot reset dimensions in ReadOnlyWorksheets
+ * #1211 Incorrect descriptor in ParagraphProperties
+ * #1213 Missing hier attribute in PageField raises an exception
+
+-------------------------------------------------------------------
Old:
----
openpyxl-2.6.0.tar.gz
New:
----
openpyxl-2.6.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-openpyxl.spec ++++++
--- /var/tmp/diff_new_pack.G1DPW9/_old 2019-03-12 09:54:51.867520721 +0100
+++ /var/tmp/diff_new_pack.G1DPW9/_new 2019-03-12 09:54:51.867520721 +0100
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-openpyxl
-Version: 2.6.0
+Version: 2.6.1
Release: 0
Summary: A Python library to read/write Excel 2010 xlsx/xlsm files
License: MIT AND Python-2.0
++++++ openpyxl-2.6.0.tar.gz -> openpyxl-2.6.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/AUTHORS.rst
new/openpyxl-2.6.1/AUTHORS.rst
--- old/openpyxl-2.6.0/AUTHORS.rst 2019-01-30 16:22:15.000000000 +0100
+++ new/openpyxl-2.6.1/AUTHORS.rst 2019-03-04 12:58:56.000000000 +0100
@@ -19,6 +19,7 @@
* Brice Gelineau
* ccoacley
* Chi Ho Kwok
+* Cory Kramer
* Day Barr
* Detlef Lannert
* Dieter Vandenbussche
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/PKG-INFO new/openpyxl-2.6.1/PKG-INFO
--- old/openpyxl-2.6.0/PKG-INFO 2019-02-06 19:23:24.000000000 +0100
+++ new/openpyxl-2.6.1/PKG-INFO 2019-03-04 13:10:58.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: openpyxl
-Version: 2.6.0
+Version: 2.6.1
Summary: A Python library to read/write Excel 2010 xlsx/xlsm files
Home-page: https://openpyxl.readthedocs.io
Author: See AUTHORS
@@ -77,7 +77,6 @@
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/_constants.py
new/openpyxl-2.6.1/openpyxl/_constants.py
--- old/openpyxl-2.6.0/openpyxl/_constants.py 2019-02-06 19:23:16.000000000
+0100
+++ new/openpyxl-2.6.1/openpyxl/_constants.py 2019-03-04 12:58:56.000000000
+0100
@@ -9,4 +9,4 @@
__license__ = "MIT/Expat"
__maintainer_email__ = "[email protected]"
__url__ = "https://openpyxl.readthedocs.io"
-__version__ = "2.6.0"
+__version__ = "2.6.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/cell/cell.py
new/openpyxl-2.6.1/openpyxl/cell/cell.py
--- old/openpyxl-2.6.0/openpyxl/cell/cell.py 2019-02-06 15:12:51.000000000
+0100
+++ new/openpyxl-2.6.1/openpyxl/cell/cell.py 2019-03-04 12:58:56.000000000
+0100
@@ -359,6 +359,7 @@
coordinate = Cell.coordinate
_comment = comment
+ value = _value
def WriteOnlyCell(ws=None, value=None):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/cell/read_only.py
new/openpyxl-2.6.1/openpyxl/cell/read_only.py
--- old/openpyxl-2.6.0/openpyxl/cell/read_only.py 2019-02-06
15:12:51.000000000 +0100
+++ new/openpyxl-2.6.1/openpyxl/cell/read_only.py 2019-03-04
12:58:56.000000000 +0100
@@ -21,6 +21,7 @@
self.value = value
self._style_id = style_id
+
def __eq__(self, other):
for a in self.__slots__:
if getattr(self, a) != getattr(other, a):
@@ -40,6 +41,17 @@
column = get_column_letter(self.column)
return "{1}{0}".format(self.row, column)
+
+ @property
+ def coordinate(self):
+ return Cell.coordinate.__get__(self)
+
+
+ @property
+ def column_letter(self):
+ return Cell.column_letter.__get__(self)
+
+
@property
def style_array(self):
return self.parent.parent._cell_styles[self._style_id]
@@ -77,9 +89,11 @@
_id = self.style_array.protectionId
return self.parent.parent._protections[_id]
+
@property
def is_date(self):
- return self.data_type == 'n' and is_date_format(self.number_format)
+ return Cell.is_date.__get__(self)
+
@property
def internal_value(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/chart/title.py
new/openpyxl-2.6.1/openpyxl/chart/title.py
--- old/openpyxl-2.6.0/openpyxl/chart/title.py 2019-02-06 15:12:51.000000000
+0100
+++ new/openpyxl-2.6.1/openpyxl/chart/title.py 2019-03-04 12:58:56.000000000
+0100
@@ -19,7 +19,9 @@
from openpyxl.drawing.text import (
Paragraph,
RegularTextRun,
- LineBreak
+ LineBreak,
+ ParagraphProperties,
+ CharacterProperties,
)
@@ -58,7 +60,9 @@
def title_maker(text):
title = Title()
- paras = [Paragraph(r=[RegularTextRun(t=s)]) for s in text.split("\n")]
+ paraprops = ParagraphProperties()
+ paraprops.defRPr = CharacterProperties()
+ paras = [Paragraph(r=[RegularTextRun(t=s)], pPr=paraprops) for s in
text.split("\n")]
title.tx.rich.paragraphs = paras
return title
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/compat/numbers.py
new/openpyxl-2.6.1/openpyxl/compat/numbers.py
--- old/openpyxl-2.6.0/openpyxl/compat/numbers.py 2019-02-06
15:12:51.000000000 +0100
+++ new/openpyxl-2.6.1/openpyxl/compat/numbers.py 2019-03-04
12:58:56.000000000 +0100
@@ -21,7 +21,35 @@
if NUMPY:
- NUMERIC_TYPES = NUMERIC_TYPES + (numpy.bool_, numpy.floating,
numpy.integer)
+ NUMERIC_TYPES = NUMERIC_TYPES + (numpy.short,
+ numpy.ushort,
+ numpy.intc,
+ numpy.uintc,
+ numpy.int_,
+ numpy.uint,
+ numpy.longlong,
+ numpy.ulonglong,
+ numpy.half,
+ numpy.float16,
+ numpy.single,
+ numpy.double,
+ numpy.longdouble,
+ numpy.int8,
+ numpy.int16,
+ numpy.int32,
+ numpy.int64,
+ numpy.uint8,
+ numpy.uint16,
+ numpy.uint32,
+ numpy.uint64,
+ numpy.intp,
+ numpy.uintp,
+ numpy.float32,
+ numpy.float64,
+ numpy.float,
+ numpy.bool_,
+ numpy.floating,
+ numpy.integer)
try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/drawing/text.py
new/openpyxl-2.6.1/openpyxl/drawing/text.py
--- old/openpyxl-2.6.0/openpyxl/drawing/text.py 2019-02-06 15:12:51.000000000
+0100
+++ new/openpyxl-2.6.1/openpyxl/drawing/text.py 2019-03-04 12:58:56.000000000
+0100
@@ -334,7 +334,7 @@
lvl = Integer(allow_none=True)
indent = Integer(allow_none=True)
algn = NoneSet(values=(['l', 'ctr', 'r', 'just', 'justLow', 'dist',
'thaiDist']))
- defTabSz = Integer(expected_type=Coordinate, allow_none=True)
+ defTabSz = Integer(allow_none=True)
rtl = Bool(allow_none=True)
eaLnBrk = Bool(allow_none=True)
fontAlgn = NoneSet(values=(['auto', 't', 'ctr', 'base', 'b']))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/packaging/manifest.py
new/openpyxl-2.6.1/openpyxl/packaging/manifest.py
--- old/openpyxl-2.6.0/openpyxl/packaging/manifest.py 2019-02-06
15:12:51.000000000 +0100
+++ new/openpyxl-2.6.1/openpyxl/packaging/manifest.py 2019-03-04
12:58:56.000000000 +0100
@@ -32,7 +32,10 @@
CHART_TYPE,
CHARTSHAPE_TYPE,
CHARTSHEET_TYPE,
- CONTYPES_NS
+ CONTYPES_NS,
+ ACTIVEX,
+ CTRL,
+ VBA,
)
from openpyxl.xml.functions import tostring
@@ -203,5 +206,7 @@
mf = Manifest.from_tree(node)
filenames = self.filenames
for override in mf.Override:
+ if override.PartName not in (ACTIVEX, CTRL, VBA):
+ continue
if override.PartName not in filenames:
self.Override.append(override)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/packaging/relationship.py
new/openpyxl-2.6.1/openpyxl/packaging/relationship.py
--- old/openpyxl-2.6.0/openpyxl/packaging/relationship.py 2019-02-06
15:12:51.000000000 +0100
+++ new/openpyxl-2.6.1/openpyxl/packaging/relationship.py 2019-03-04
12:58:56.000000000 +0100
@@ -119,6 +119,8 @@
return filename
+from warnings import warn
+
def get_dependents(archive, filename):
"""
Normalise dependency file paths to absolute ones
@@ -127,7 +129,12 @@
"""
src = archive.read(filename)
node = fromstring(src)
- rels = RelationshipList.from_tree(node)
+ try:
+ rels = RelationshipList.from_tree(node)
+ except TypeError:
+ msg = "{0} contains invalid dependency definitions".format(filename)
+ warn(msg)
+ rels = RelationshipList()
folder = posixpath.dirname(filename)
parent = posixpath.split(folder)[0]
for r in rels.Relationship:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/pivot/table.py
new/openpyxl-2.6.1/openpyxl/pivot/table.py
--- old/openpyxl-2.6.0/openpyxl/pivot/table.py 2019-01-23 19:39:17.000000000
+0100
+++ new/openpyxl-2.6.1/openpyxl/pivot/table.py 2019-03-04 12:58:56.000000000
+0100
@@ -552,7 +552,7 @@
fld = Integer()
item = Integer(allow_none=True)
- hier = Integer()
+ hier = Integer(allow_none=True)
name = String(allow_none=True)
cap = String(allow_none=True)
extLst = Typed(expected_type=ExtensionList, allow_none=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/styles/numbers.py
new/openpyxl-2.6.1/openpyxl/styles/numbers.py
--- old/openpyxl-2.6.0/openpyxl/styles/numbers.py 2019-02-06
15:12:51.000000000 +0100
+++ new/openpyxl-2.6.1/openpyxl/styles/numbers.py 2019-03-04
12:58:56.000000000 +0100
@@ -135,7 +135,11 @@
def builtin_format_code(index):
"""Return one of the standard format codes by index."""
- return BUILTIN_FORMATS[index]
+ try:
+ fmt = BUILTIN_FORMATS[index]
+ except KeyError:
+ fmt = None
+ return fmt
def builtin_format_id(fmt):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/styles/stylesheet.py
new/openpyxl-2.6.1/openpyxl/styles/stylesheet.py
--- old/openpyxl-2.6.0/openpyxl/styles/stylesheet.py 2019-01-30
16:22:16.000000000 +0100
+++ new/openpyxl-2.6.1/openpyxl/styles/stylesheet.py 2019-03-04
12:58:56.000000000 +0100
@@ -20,9 +20,9 @@
from .fonts import Font
from .numbers import (
NumberFormatList,
- BUILTIN_FORMATS,
BUILTIN_FORMATS_REVERSE,
is_date_format,
+ builtin_format_code
)
from .alignment import Alignment
from .protection import Protection
@@ -163,7 +163,7 @@
else:
style.numFmtId = formats.add(fmt) + 164
else:
- fmt = BUILTIN_FORMATS[style.numFmtId]
+ fmt = builtin_format_code(style.numFmtId)
if is_date_format(fmt):
# Create an index of which styles refer to datetimes
date_formats.add(idx)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/worksheet/_read_only.py
new/openpyxl-2.6.1/openpyxl/worksheet/_read_only.py
--- old/openpyxl-2.6.0/openpyxl/worksheet/_read_only.py 2019-02-06
15:12:51.000000000 +0100
+++ new/openpyxl-2.6.1/openpyxl/worksheet/_read_only.py 2019-03-04
12:58:56.000000000 +0100
@@ -162,6 +162,15 @@
self._max_column = max_col
+ def reset_dimensions(self):
+ """
+ Remove worksheet dimensions if these are incorrect in the worksheet
source.
+ NB. This probably indicates a bug in the library or application that
created
+ the workbook.
+ """
+ self._max_row = self._max_column = None
+
+
@property
def min_row(self):
return self._min_row
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/worksheet/_reader.py
new/openpyxl-2.6.1/openpyxl/worksheet/_reader.py
--- old/openpyxl-2.6.0/openpyxl/worksheet/_reader.py 2019-02-06
15:12:51.000000000 +0100
+++ new/openpyxl-2.6.1/openpyxl/worksheet/_reader.py 2019-03-04
12:58:56.000000000 +0100
@@ -35,7 +35,7 @@
from .hyperlink import HyperlinkList
from .merge import MergeCells
from .page import PageMargins, PrintOptions, PrintPageSetup
-from .pagebreak import PageBreak
+from .pagebreak import RowBreak, ColBreak
from .protection import SheetProtection
from .scenario import ScenarioList
from .views import SheetViewList
@@ -69,6 +69,7 @@
VIEWS_TAG = '{%s}sheetViews' % SHEET_MAIN_NS
FORMAT_TAG = '{%s}sheetFormatPr' % SHEET_MAIN_NS
ROW_BREAK_TAG = '{%s}rowBreaks' % SHEET_MAIN_NS
+COL_BREAK_TAG = '{%s}colBreaks' % SHEET_MAIN_NS
SCENARIOS_TAG = '{%s}scenarios' % SHEET_MAIN_NS
DATA_TAG = '{%s}sheetData' % SHEET_MAIN_NS
DIMENSION_TAG = '{%s}dimension' % SHEET_MAIN_NS
@@ -103,6 +104,7 @@
self.formatting = []
self.legacy_drawing = None
self.merged_cells = None
+ self.page_breaks = []
def parse(self):
@@ -112,6 +114,8 @@
EXT_TAG: self.parse_extensions,
CF_TAG: self.parse_formatting,
LEGACY_TAG: self.parse_legacy,
+ ROW_BREAK_TAG: self.parse_row_breaks,
+ COL_BREAK_TAG: self.parse_col_breaks,
}
properties = {
@@ -124,7 +128,6 @@
PROPERTIES_TAG: ('sheet_properties', WorksheetProperties),
VIEWS_TAG: ('views', SheetViewList),
FORMAT_TAG: ('sheet_format', SheetFormatProperties),
- ROW_BREAK_TAG: ('page_breaks', PageBreak),
SCENARIOS_TAG: ('scenarios', ScenarioList),
TABLE_TAG: ('tables', TablePartList),
HYPERLINK_TAG: ('hyperlinks', HyperlinkList),
@@ -298,6 +301,16 @@
self.legacy_drawing = obj.id
+ def parse_row_breaks(self, element):
+ brk = RowBreak.from_tree(element)
+ self.page_breaks.append(brk)
+
+
+ def parse_col_breaks(self, element):
+ brk = ColBreak.from_tree(element)
+ self.page_breaks.append(brk)
+
+
class WorksheetReader(object):
"""
Create a parser and apply it to a workbook
@@ -326,7 +339,7 @@
for rule in cf.rules:
if rule.dxfId is not None:
rule.dxf = self.ws.parent._differential_styles[rule.dxfId]
- self.ws.conditional_formatting[cf] = rule
+ self.ws.conditional_formatting[cf] = rule
def bind_tables(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/worksheet/pagebreak.py
new/openpyxl-2.6.1/openpyxl/worksheet/pagebreak.py
--- old/openpyxl-2.6.0/openpyxl/worksheet/pagebreak.py 2019-02-06
15:12:51.000000000 +0100
+++ new/openpyxl-2.6.1/openpyxl/worksheet/pagebreak.py 2019-03-04
12:58:56.000000000 +0100
@@ -80,3 +80,11 @@
brk = Break(id=self.count+1)
vals.append(brk)
self.brk = vals
+
+
+RowBreak = PageBreak
+
+
+class ColBreak(PageBreak):
+
+ tagname = "colBreaks"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/worksheet/worksheet.py
new/openpyxl-2.6.1/openpyxl/worksheet/worksheet.py
--- old/openpyxl-2.6.0/openpyxl/worksheet/worksheet.py 2019-02-06
15:12:51.000000000 +0100
+++ new/openpyxl-2.6.1/openpyxl/worksheet/worksheet.py 2019-03-04
12:58:56.000000000 +0100
@@ -56,7 +56,7 @@
from .cell_range import MultiCellRange, CellRange
from .merge import MergedCellRange
from .properties import WorksheetProperties
-from .pagebreak import PageBreak
+from .pagebreak import RowBreak, ColBreak
from .scenario import ScenarioList
@@ -106,7 +106,9 @@
default_factory=self._add_row)
self.column_dimensions = DimensionHolder(worksheet=self,
default_factory=self._add_column)
- self.page_breaks = [PageBreak()]
+ self.row_breaks = RowBreak()
+ self.col_breaks = ColBreak()
+ self.page_breaks = [self.row_breaks, self.col_breaks]
self._cells = {}
self._charts = []
self._images = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/writer/excel.py
new/openpyxl-2.6.1/openpyxl/writer/excel.py
--- old/openpyxl-2.6.0/openpyxl/writer/excel.py 2019-02-06 15:12:51.000000000
+0100
+++ new/openpyxl-2.6.1/openpyxl/writer/excel.py 2019-03-04 12:58:56.000000000
+0100
@@ -173,7 +173,7 @@
self._archive.writestr(cs.path[1:], tostring(cs.to_tree()))
self.manifest.append(cs)
- if ws.legacy_drawing is None:
+ if ws.legacy_drawing is None or self.workbook.vba_archive is None:
ws.legacy_drawing =
'xl/drawings/commentsDrawing{0}.vml'.format(cs._id)
vml = None
else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl/xml/constants.py
new/openpyxl-2.6.1/openpyxl/xml/constants.py
--- old/openpyxl-2.6.0/openpyxl/xml/constants.py 2019-02-06
15:12:51.000000000 +0100
+++ new/openpyxl-2.6.1/openpyxl/xml/constants.py 2019-03-04
12:58:56.000000000 +0100
@@ -114,3 +114,8 @@
'{3A4CF648-6AED-40f4-86FF-DC5316D8AED3}': 'Slicer List',
'{7E03D99C-DC04-49d9-9315-930204A7B6E9}': 'Timeline Ref',
}
+
+# Objects related to macros that we preserve
+CTRL = "application/vnd.ms-excel.controlproperties+xml"
+ACTIVEX = "application/vnd.ms-office.activeX+xml"
+VBA = "application/vnd.ms-office.vbaProject"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/openpyxl.egg-info/PKG-INFO
new/openpyxl-2.6.1/openpyxl.egg-info/PKG-INFO
--- old/openpyxl-2.6.0/openpyxl.egg-info/PKG-INFO 2019-02-06
19:23:23.000000000 +0100
+++ new/openpyxl-2.6.1/openpyxl.egg-info/PKG-INFO 2019-03-04
13:10:57.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: openpyxl
-Version: 2.6.0
+Version: 2.6.1
Summary: A Python library to read/write Excel 2010 xlsx/xlsm files
Home-page: https://openpyxl.readthedocs.io
Author: See AUTHORS
@@ -77,7 +77,6 @@
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openpyxl-2.6.0/setup.py new/openpyxl-2.6.1/setup.py
--- old/openpyxl-2.6.0/setup.py 2019-02-06 15:12:51.000000000 +0100
+++ new/openpyxl-2.6.1/setup.py 2019-03-04 12:58:56.000000000 +0100
@@ -74,7 +74,6 @@
'License :: OSI Approved :: MIT License',
'Programming Language :: Python',
'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',