Hello community,

here is the log from the commit of package python3-openpyxl for 
openSUSE:Factory checked in at 2015-06-23 11:57:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-openpyxl (Old)
 and      /work/SRC/openSUSE:Factory/.python3-openpyxl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-openpyxl"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-openpyxl/python3-openpyxl.changes        
2015-05-27 12:51:36.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-openpyxl.new/python3-openpyxl.changes   
2015-06-23 11:57:43.000000000 +0200
@@ -1,0 +2,13 @@
+Thu Jun 18 15:26:09 UTC 2015 - a...@gmx.de
+
+- update to version 2.2.4:
+  * #464 Cannot use images when preserving macros
+  * #465 ws.cell() returns an empty cell on read-only workbooks
+  * #467 Cannot edit a file with ActiveX components
+  * #471 Sheet properties elements must be in order
+  * #475 Do not redefine class __slots__ in subclasses
+  * #477 Write-only support for SheetProtection
+  * #478 Write-only support for DataValidation
+  * Improved regex when checking for datetime formats
+
+-------------------------------------------------------------------

Old:
----
  openpyxl-2.2.3.tar.gz

New:
----
  openpyxl-2.2.4.tar.gz

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

Other differences:
------------------
++++++ python3-openpyxl.spec ++++++
--- /var/tmp/diff_new_pack.vhdDzi/_old  2015-06-23 11:57:43.000000000 +0200
+++ /var/tmp/diff_new_pack.vhdDzi/_new  2015-06-23 11:57:43.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python3-openpyxl
-Version:        2.2.3
+Version:        2.2.4
 Release:        0
 Summary:        A Python library to read/write Excel 2007 xlsx/xlsm files
 License:        MIT and Python-2.0

++++++ openpyxl-2.2.3.tar.gz -> openpyxl-2.2.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openpyxl-2.2.3/PKG-INFO new/openpyxl-2.2.4/PKG-INFO
--- old/openpyxl-2.2.3/PKG-INFO 2015-05-26 14:29:15.000000000 +0200
+++ new/openpyxl-2.2.4/PKG-INFO 2015-06-17 22:52:20.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: openpyxl
-Version: 2.2.3
+Version: 2.2.4
 Summary: A Python library to read/write Excel 2007 xlsx/xlsm files
 Home-page: http://openpyxl.readthedocs.org
 Author: See AUTHORS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openpyxl-2.2.3/openpyxl/__init__.py 
new/openpyxl-2.2.4/openpyxl/__init__.py
--- old/openpyxl-2.2.3/openpyxl/__init__.py     2015-05-26 14:27:40.000000000 
+0200
+++ new/openpyxl-2.2.4/openpyxl/__init__.py     2015-06-17 22:50:50.000000000 
+0200
@@ -11,7 +11,7 @@
 
 
 # constants
-__version__ = '2.2.3'
+__version__ = '2.2.4'
 
 __author__ = 'Eric Gazoni'
 __license__ = 'MIT/Expat'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openpyxl-2.2.3/openpyxl/cell/cell.py 
new/openpyxl-2.2.4/openpyxl/cell/cell.py
--- old/openpyxl-2.2.3/openpyxl/cell/cell.py    2015-05-09 17:26:19.000000000 
+0200
+++ new/openpyxl-2.2.4/openpyxl/cell/cell.py    2015-06-17 22:50:50.000000000 
+0200
@@ -81,7 +81,7 @@
     Properties of interest include style, type, value, and address.
 
     """
-    __slots__ =  StyleableObject.__slots__ + (
+    __slots__ =  (
         'column',
         'row',
         'coordinate',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openpyxl-2.2.3/openpyxl/styles/numbers.py 
new/openpyxl-2.2.4/openpyxl/styles/numbers.py
--- old/openpyxl-2.2.3/openpyxl/styles/numbers.py       2015-05-09 
17:26:19.000000000 +0200
+++ new/openpyxl-2.2.4/openpyxl/styles/numbers.py       2015-06-17 
22:50:50.000000000 +0200
@@ -161,12 +161,13 @@
 
 
 DATE_INDICATORS = 'dmyhs'
-BAD_DATE_RE = re.compile(r'(\[|").*[dmhys].*(\]|")')
+BAD_DATE_RE = re.compile(r'((?<=\[)|").*[dmhys]+.*(\]|")', re.UNICODE)
 
 def is_date_format(fmt):
     if fmt is None:
         return False
-    if any([x in fmt.lower() for x in DATE_INDICATORS]):
+    fmt = fmt.lower()
+    if any([x in fmt for x in DATE_INDICATORS]):
         return not BAD_DATE_RE.search(fmt)
     return False
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openpyxl-2.2.3/openpyxl/worksheet/properties.py 
new/openpyxl-2.2.4/openpyxl/worksheet/properties.py
--- old/openpyxl-2.2.3/openpyxl/worksheet/properties.py 2015-05-26 
14:27:40.000000000 +0200
+++ new/openpyxl-2.2.4/openpyxl/worksheet/properties.py 2015-06-17 
22:50:50.000000000 +0200
@@ -146,6 +146,10 @@
 
     el = Element(props.tag, attributes)
 
+    tab_color = props.tabColor
+    if tab_color:
+        el.append(Element('{%s}tabColor' % SHEET_MAIN_NS, rgb=tab_color.value))
+
     outline = props.outlinePr
     if outline:
         el.append(Element(outline.tag, dict(outline)))
@@ -154,7 +158,5 @@
     if page_setup:
         el.append(Element(page_setup.tag, dict(page_setup)))
 
-    if props.tabColor:
-        el.append(Element('{%s}tabColor' % SHEET_MAIN_NS, 
rgb=props.tabColor.value))
 
     return el
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openpyxl-2.2.3/openpyxl/worksheet/worksheet.py 
new/openpyxl-2.2.4/openpyxl/worksheet/worksheet.py
--- old/openpyxl-2.2.3/openpyxl/worksheet/worksheet.py  2015-05-26 
14:27:40.000000000 +0200
+++ new/openpyxl-2.2.4/openpyxl/worksheet/worksheet.py  2015-06-17 
22:50:50.000000000 +0200
@@ -352,12 +352,10 @@
         else:
             coordinate = coordinate.upper().replace('$', '')
 
-        if coordinate not in self._cells:
-            if row is None or column is None:
-                column, row = coordinate_from_string(coordinate)
-            self._new_cell(column, row, value)
-
-        return self._cells[coordinate]
+        cell = self._get_cell(coordinate)
+        if value is not None:
+            cell.value = value
+        return cell
 
 
     def _get_cell(self, coordinate):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openpyxl-2.2.3/openpyxl/writer/dump_worksheet.py 
new/openpyxl-2.2.4/openpyxl/writer/dump_worksheet.py
--- old/openpyxl-2.2.3/openpyxl/writer/dump_worksheet.py        2015-05-09 
17:26:19.000000000 +0200
+++ new/openpyxl-2.2.4/openpyxl/writer/dump_worksheet.py        2015-06-17 
22:50:50.000000000 +0200
@@ -21,6 +21,7 @@
 from .relations import write_rels
 from .worksheet import (
     write_autofilter,
+    write_datavalidation,
     write_cell,
     write_cols,
     write_format,
@@ -125,9 +126,15 @@
                             xf.write(r)
                     except GeneratorExit:
                         pass
+                if self.protection.sheet:
+                    prot = Element('sheetProtection', dict(self.protection))
+                    xf.write(prot)
                 af = write_autofilter(self)
                 if af is not None:
                     xf.write(af)
+                dv = write_datavalidation(self)
+                if dv is not None:
+                    xf.write(dv)
                 if self._comments:
                     comments = Element('legacyDrawing', {'{%s}id' % REL_NS: 
'commentsvml'})
                     xf.write(comments)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openpyxl-2.2.3/openpyxl/writer/excel.py 
new/openpyxl-2.2.4/openpyxl/writer/excel.py
--- old/openpyxl-2.2.3/openpyxl/writer/excel.py 2015-05-26 14:27:40.000000000 
+0200
+++ new/openpyxl-2.2.4/openpyxl/writer/excel.py 2015-06-17 22:50:50.000000000 
+0200
@@ -5,6 +5,7 @@
 
 # Python stdlib imports
 from io import BytesIO
+from re import match
 from zipfile import ZipFile, ZIP_DEFLATED
 
 # package imports
@@ -17,7 +18,6 @@
     ARC_THEME,
     ARC_STYLE,
     ARC_WORKBOOK,
-    ARC_VBA,
     PACKAGE_WORKSHEETS,
     PACKAGE_DRAWINGS,
     PACKAGE_CHARTS,
@@ -47,6 +47,8 @@
 
 from openpyxl.writer.comments import CommentWriter
 
+ARC_VBA = ('xl/vba', r'xl/drawings/.*\.vml', 'xl/ctrlProps', 'customUI',
+           'xl/activeX', r'xl/media/.*\.emf')
 
 class ExcelWriter(object):
     """Write a workbook object to an Excel file."""
@@ -75,7 +77,7 @@
             vba_archive = self.workbook.vba_archive
             for name in vba_archive.namelist():
                 for s in ARC_VBA:
-                    if name.startswith(s):
+                    if match(s, name):
                         archive.writestr(name, vba_archive.read(name))
                         break
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openpyxl-2.2.3/openpyxl/writer/relations.py 
new/openpyxl-2.2.4/openpyxl/writer/relations.py
--- old/openpyxl-2.2.3/openpyxl/writer/relations.py     2015-05-09 
17:26:19.000000000 +0200
+++ new/openpyxl-2.2.4/openpyxl/writer/relations.py     2015-06-17 
22:50:50.000000000 +0200
@@ -24,6 +24,12 @@
                  'Type': '%s/drawing' % REL_NS,
                  'Target': '../drawings/drawing%s.xml' % drawing_id}
         SubElement(root, '{%s}Relationship' % PKG_REL_NS, attrs)
+
+    if worksheet.vba_controls is not None:
+        attrs = {'Id': worksheet.vba_controls,
+                 'Type': VML_NS,
+                 'Target': '../drawings/vmlDrawing%s.vml' % vba_controls_id}
+        SubElement(root, '{%s}Relationship' % PKG_REL_NS, attrs)
     if worksheet._comment_count > 0:
         # there's only one comments sheet per worksheet,
         # so there's no reason to call the Id rIdx
@@ -31,13 +37,9 @@
                  'Type': COMMENTS_NS,
                  'Target': '../comments%s.xml' % comments_id}
         SubElement(root, '{%s}Relationship' % PKG_REL_NS, attrs)
-        attrs = {'Id': 'commentsvml',
-                 'Type': VML_NS,
-                 'Target': '../drawings/commentsDrawing%s.vml' % comments_id}
-        SubElement(root, '{%s}Relationship' % PKG_REL_NS, attrs)
-    if worksheet.vba_controls is not None:
-        attrs = {'Id': worksheet.vba_controls,
-                 'Type': VML_NS,
-                 'Target': '../drawings/vmlDrawing%s.vml' % vba_controls_id}
-        SubElement(root, '{%s}Relationship' % PKG_REL_NS, attrs)
+        if worksheet.vba_controls is None:
+            attrs = {'Id': 'commentsvml',
+                     'Type': VML_NS,
+                     'Target': '../drawings/commentsDrawing%s.vml' % 
comments_id}
+            SubElement(root, '{%s}Relationship' % PKG_REL_NS, attrs)
     return root
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openpyxl-2.2.3/openpyxl/writer/workbook.py 
new/openpyxl-2.2.4/openpyxl/writer/workbook.py
--- old/openpyxl-2.2.3/openpyxl/writer/workbook.py      2015-05-09 
17:26:19.000000000 +0200
+++ new/openpyxl-2.2.4/openpyxl/writer/workbook.py      2015-06-17 
22:50:50.000000000 +0200
@@ -156,10 +156,12 @@
                     drawing_id += 1
 
         if sheet._comment_count > 0:
-            SubElement(root, '{%s}Override' % CONTYPES_NS, {
-                'PartName': '/xl/comments%d.xml' % comments_id,
-                'ContentType': COMMENTS_TYPE
-            })
+            name = '/xl/comments%d.xml' % comments_id
+            if name not in seen:
+                SubElement(root, '{%s}Override' % CONTYPES_NS, {
+                    'PartName': name,
+                    'ContentType': COMMENTS_TYPE
+                })
             comments_id += 1
 
     for idx, _ in enumerate(workbook._external_links, 1):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openpyxl-2.2.3/openpyxl/writer/worksheet.py 
new/openpyxl-2.2.4/openpyxl/writer/worksheet.py
--- old/openpyxl-2.2.3/openpyxl/writer/worksheet.py     2015-05-09 
17:26:19.000000000 +0200
+++ new/openpyxl-2.2.4/openpyxl/writer/worksheet.py     2015-06-17 
22:50:50.000000000 +0200
@@ -282,19 +282,21 @@
                 xf.write(drawing)
                 del drawing
 
+            pb = write_pagebreaks(worksheet)
+            if pb is not None:
+                xf.write(pb)
+
             # If vba is being preserved then add a legacyDrawing element so
             # that any controls can be drawn.
             if worksheet.vba_controls is not None:
                 xml = Element("{%s}legacyDrawing" % SHEET_MAIN_NS,
                               {"{%s}id" % REL_NS : worksheet.vba_controls})
                 xf.write(xml)
-
-            pb = write_pagebreaks(worksheet)
-            if pb is not None:
-                xf.write(pb)
-
-            # add a legacyDrawing so that excel can draw comments
-            if worksheet._comment_count > 0:
+            elif worksheet._comment_count > 0:
+                # add a legacyDrawing so that excel can draw comments
+                # If a legacyDrawing element has already been added then
+                # we have to hope it already contains the vml for
+                # comments because we cannot add another.
                 comments = Element('{%s}legacyDrawing' % SHEET_MAIN_NS,
                                 {'{%s}id' % REL_NS: 'commentsvml'})
                 xf.write(comments)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openpyxl-2.2.3/openpyxl/xml/constants.py 
new/openpyxl-2.2.4/openpyxl/xml/constants.py
--- old/openpyxl-2.2.3/openpyxl/xml/constants.py        2015-05-09 
17:26:19.000000000 +0200
+++ new/openpyxl-2.2.4/openpyxl/xml/constants.py        2015-06-17 
22:50:50.000000000 +0200
@@ -30,8 +30,6 @@
 ARC_THEME = PACKAGE_THEME + '/theme1.xml'
 ARC_SHARED_STRINGS = PACKAGE_XL + '/sharedStrings.xml'
 ARC_CUSTOM_UI = 'customUI/customUI.xml'
-ARC_VBA = ('xl/vba', 'xl/activeX', 'xl/drawings', 'xl/media', 'xl/ctrlProps',
-           'customUI', 'xl/printerSettings')
 
 ## namespaces
 # Dublin Core
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openpyxl-2.2.3/openpyxl.egg-info/PKG-INFO 
new/openpyxl-2.2.4/openpyxl.egg-info/PKG-INFO
--- old/openpyxl-2.2.3/openpyxl.egg-info/PKG-INFO       2015-05-26 
14:29:15.000000000 +0200
+++ new/openpyxl-2.2.4/openpyxl.egg-info/PKG-INFO       2015-06-17 
22:52:20.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: openpyxl
-Version: 2.2.3
+Version: 2.2.4
 Summary: A Python library to read/write Excel 2007 xlsx/xlsm files
 Home-page: http://openpyxl.readthedocs.org
 Author: See AUTHORS


Reply via email to