OpenOffice fixes, calendar format fixes

svn: r1239
This commit is contained in:
Don Allingham
2003-01-06 05:14:49 +00:00
parent cdc6b08430
commit 487cf61840
14 changed files with 330 additions and 189 deletions

View File

@@ -27,15 +27,8 @@ from intl import gettext as _
from TextDoc import *
from DrawDoc import *
from latin_utf8 import latin_to_utf8
import const
try:
from codecs import *
except:
def EncodedFile(a,b,c):
return a
class OpenDrawDoc(DrawDoc):
@@ -66,7 +59,7 @@ class OpenDrawDoc(DrawDoc):
os.mkdir(self.tempdir + os.sep + "META-INF")
fname = self.tempdir + os.sep + "content.xml"
self.f = EncodedFile(open(fname,"wb"),'latin-1','utf-8')
self.f = open(fname,"wb")
self.f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
self.f.write('<office:document-content ')
@@ -156,7 +149,7 @@ class OpenDrawDoc(DrawDoc):
def _write_styles_file(self):
file = self.tempdir + os.sep + "styles.xml"
self.f = EncodedFile(open(file,"wb"),'latin-1','utf-8')
self.f = open(file,"wb")
self.f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
self.f.write('<office:document-styles ')
self.f.write('xmlns:office="http://openoffice.org/2000/office" ')
@@ -343,11 +336,11 @@ class OpenDrawDoc(DrawDoc):
def write_text(self,text):
text = string.replace(text,'\t','<text:tab-stop/>')
text = string.replace(text,'\n','<text:line-break/>')
self.f.write(latin_to_utf8(text))
self.f.write(text)
def _write_manifest(self):
file = self.tempdir + os.sep + "META-INF" + os.sep + "manifest.xml"
self.f = EncodedFile(open(file,"wb"),'latin-1','utf-8')
self.f = open(file,"wb")
self.f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
self.f.write('<manifest:manifest ')
self.f.write('xmlns:manifest="http://openoffice.org/2001/manifest">')
@@ -369,8 +362,8 @@ class OpenDrawDoc(DrawDoc):
def _write_meta_file(self):
file = self.tempdir + os.sep + "meta.xml"
name = latin_to_utf8(self.name)
self.f = EncodedFile(open(file,"wb"),'latin-1','utf-8')
name = self.name
self.f = open(file,"wb")
self.f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
self.f.write('<office:document-meta ')
self.f.write('xmlns:office="http://openoffice.org/2000/office" ')
@@ -435,7 +428,7 @@ class OpenDrawDoc(DrawDoc):
self.f.write('svg:y="%.3fcm"' % float(y))
if text != "":
text = string.replace(text,'\t','<text:tab-stop/>')
text = latin_to_utf8(string.replace(text,'\n','<text:line-break/>'))
text = string.replace(text,'\n','<text:line-break/>')
self.f.write('>\n')
self.f.write('<text:p text:style-name="P1">')
self.f.write('<text:span text:style-name="T%s">' % para_name)