* src/docgen/OpenOfficeDoc.py: incorporated Julio Sanchez's

language patch


svn: r3631
This commit is contained in:
Don Allingham 2004-10-14 04:09:38 +00:00
parent 2e1d56c941
commit 1e2d9e6e9f
2 changed files with 22 additions and 7 deletions

View File

@ -1,3 +1,7 @@
2004-10-13 Don Allingham <dallingham@users.sourceforge.net>
* src/docgen/OpenOfficeDoc.py: incorporated Julio Sanchez's
language patch
2004-10-13 Alex Roitman <shura@alex.neuro.umn.edu> 2004-10-13 Alex Roitman <shura@alex.neuro.umn.edu>
* src/plugins/Makefile.am: Ship rel_es.py plugin. * src/plugins/Makefile.am: Ship rel_es.py plugin.
* src/rule.glade: Clean up the filter definition dialog. * src/rule.glade: Clean up the filter definition dialog.

View File

@ -30,6 +30,7 @@ import tempfile
import string import string
import zipfile import zipfile
import time import time
import locale
from math import pi, cos, sin, fabs from math import pi, cos, sin, fabs
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
@ -97,6 +98,14 @@ class OpenOfficeDoc(BaseDoc.BaseDoc):
raise Errors.ReportError(_("Could not create %s") % self.content_xml) raise Errors.ReportError(_("Could not create %s") % self.content_xml)
def init(self): def init(self):
current_locale = locale.getlocale()
self.lang = current_locale[0]
if self.lang:
self.lang = self.lang.replace('_','-')
else:
self.lang = "en-US"
self.f.write('<?xml version="1.0" encoding="UTF-8"?>\n') self.f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
self.f.write('<office:document-content ') self.f.write('<office:document-content ')
self.f.write('xmlns:office="http://openoffice.org/2000/office" ') self.f.write('xmlns:office="http://openoffice.org/2000/office" ')
@ -392,7 +401,7 @@ class OpenOfficeDoc(BaseDoc.BaseDoc):
self.media_list.append(media_list_item) self.media_list.append(media_list_item)
base = os.path.basename(name) base = os.path.basename(name)
tag = string.replace(base,'.','_') tag = base.replace('.','_')
if self.new_cell: if self.new_cell:
self.f.write('<text:p>') self.f.write('<text:p>')
@ -683,7 +692,8 @@ class OpenOfficeDoc(BaseDoc.BaseDoc):
text = text.replace(' '*n, ' <text:s text:c="%d"/>' % (n-1) ) text = text.replace(' '*n, ' <text:s text:c="%d"/>' % (n-1) )
text = text.replace('\n','<text:line-break/>') text = text.replace('\n','<text:line-break/>')
text = text.replace('\t','<text:tab-stop/>') text = text.replace('\t','<text:tab-stop/>')
text = text.replace('&lt;super&gt;','<text:span text:style-name="GSuper">') text = text.replace('&lt;super&gt;',
'<text:span text:style-name="GSuper">')
text = text.replace('&lt;/super&gt;','</text:span>') text = text.replace('&lt;/super&gt;','</text:span>')
self.start_paragraph(style_name) self.start_paragraph(style_name)
@ -695,7 +705,7 @@ class OpenOfficeDoc(BaseDoc.BaseDoc):
for line in text.split('\n\n'): for line in text.split('\n\n'):
self.start_paragraph(style_name) self.start_paragraph(style_name)
line = line.replace('\n',' ') line = line.replace('\n',' ')
line = string.join(string.split(line)) line = string.join(line.split())
self.write_text(line) self.write_text(line)
self.end_paragraph() self.end_paragraph()
@ -704,7 +714,8 @@ class OpenOfficeDoc(BaseDoc.BaseDoc):
text = text.replace('<','&lt;') text = text.replace('<','&lt;')
text = text.replace('>','&gt;') text = text.replace('>','&gt;')
text = text.replace('\n','<text:line-break/>') text = text.replace('\n','<text:line-break/>')
text = text.replace('&lt;super&gt;','<text:span text:style-name="GSuper">') text = text.replace('&lt;super&gt;',
'<text:span text:style-name="GSuper">')
text = text.replace('&lt;/super&gt;','</text:span>') text = text.replace('&lt;/super&gt;','</text:span>')
self.f.write(text) self.f.write(text)
@ -782,7 +793,7 @@ class OpenOfficeDoc(BaseDoc.BaseDoc):
self.f.write(self.time) self.f.write(self.time)
self.f.write('</dc:date>\n') self.f.write('</dc:date>\n')
self.f.write('<meta:print-date>0-00-00T00:00:00</meta:print-date>\n') self.f.write('<meta:print-date>0-00-00T00:00:00</meta:print-date>\n')
self.f.write('<dc:language>en-US</dc:language>\n') self.f.write('<dc:language>%s</dc:language>\n' % self.lang)
self.f.write('<meta:editing-cycles>1</meta:editing-cycles>\n') self.f.write('<meta:editing-cycles>1</meta:editing-cycles>\n')
self.f.write('<meta:editing-duration>PT0S</meta:editing-duration>\n') self.f.write('<meta:editing-duration>PT0S</meta:editing-duration>\n')
self.f.write('<meta:user-defined meta:name="Info 0"/>\n') self.f.write('<meta:user-defined meta:name="Info 0"/>\n')
@ -933,8 +944,8 @@ class OpenOfficeDoc(BaseDoc.BaseDoc):
if text != "": if text != "":
self.f.write('<text:p text:style-name="%s">' % para_name) self.f.write('<text:p text:style-name="%s">' % para_name)
self.f.write('<text:span text:style-name="F%s">' % para_name) self.f.write('<text:span text:style-name="F%s">' % para_name)
text = string.replace(text,'\t','<text:tab-stop/>') text = text.replace('\t','<text:tab-stop/>')
text = string.replace(text,'\n','<text:line-break/>') text = text.replace('\n','<text:line-break/>')
self.f.write(text) self.f.write(text)
self.f.write('</text:span>') self.f.write('</text:span>')
self.f.write('</text:p>\n') self.f.write('</text:p>\n')