[issue21685] zipfile module doesn't properly compress odt documents
Raimondo Giammanco
report at bugs.python.org
Sat Jun 7 15:02:05 CEST 2014
New submission from Raimondo Giammanco:
Steps to reproduce
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
-1- Create a document.odt containing an input (text) field and a conditional text field; the latter will show a different text based upon the content of the input text field. [use attached example.odt]
-2- Edit the file by means of following code
from zipfile import ZipFile, ZIP_DEFLATED
document = '/tmp/example.odt' # SET ME PLEASE
S2b, R2b = 'SUBST'.encode(), 'REPLACEMENT'.encode()
with ZipFile(document,'a', ZIP_DEFLATED) as z:
xmlString = z.read('content.xml')
xmlString = xmlString.replace(S2b, R2b)
z.writestr('content.xml', xmlString)
-3- Open example.odt with *office
As `REPLACEMENT' is the requested string, one expect to see the relevant conditional text
What happens: the LO function doesn't recognize the string, unless one do not retype it manually
Omitting ZIP_DEFLATED parameter prevents this behaviour from happen (so letting zipfile use the default no-compression method)
tested on
Python 2.7.3 and Python 3.2.3
Ubuntu 12.04 amd64
LibreOffice Version 4.0.4.2
----------
components: Library (Lib)
files: example.odt
messages: 219933
nosy: rai
priority: normal
severity: normal
status: open
title: zipfile module doesn't properly compress odt documents
type: behavior
versions: Python 3.2
Added file: http://bugs.python.org/file35511/example.odt
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue21685>
_______________________________________
More information about the Python-bugs-list
mailing list