2025-10-10 09:46:41 +02:00

219 lines
7.6 KiB
Python

#!/usr/bin/env python
#coding:utf-8
# Purpose: const.py
# Created: 28.12.2010
# Copyright (C) 2010, Manfred Moitzi
# License: MIT license
from __future__ import unicode_literals, print_function, division
__author__ = "mozman <mozman@gmx.at>"
import sys
VERSION = "0.1.0"
GENERATOR = "http://pypi.python.org/pypi/ezodf/%s$Python%s" % (VERSION, sys.version)
MIMETYPES = {
'odt': "application/vnd.oasis.opendocument.text",
'ott': "application/vnd.oasis.opendocument.text-template",
'odg': "application/vnd.oasis.opendocument.graphics",
'otg': "application/vnd.oasis.opendocument.graphics-template",
'odp': "application/vnd.oasis.opendocument.presentation",
'otp': "application/vnd.oasis.opendocument.presentation-template",
'ods': "application/vnd.oasis.opendocument.spreadsheet",
'ots': "application/vnd.oasis.opendocument.spreadsheet-template",
'odc': "application/vnd.oasis.opendocument.chart",
'otc': "application/vnd.oasis.opendocument.chart-template",
'odi': "application/vnd.oasis.opendocument.image",
'oti': "application/vnd.oasis.opendocument.image-template",
'odf': "application/vnd.oasis.opendocument.formula",
'otf': "application/vnd.oasis.opendocument.formula-template",
'odm': "application/vnd.oasis.opendocument.text-master",
'oth': "application/vnd.oasis.opendocument.text-web",
'fodt': "application/xml",
'fods': "application/xml"
}
FILE_EXT_FOR_MIMETYPE = dict([(mimetype, ext) for ext, mimetype in MIMETYPES.items()])
ANIM_NS = "urn:oasis:names:tc:opendocument:xmlns:animation:1.0"
DB_NS = "urn:oasis:names:tc:opendocument:xmlns:database:1.0"
CHART_NS = "urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
CONFIG_NS = "urn:oasis:names:tc:opendocument:xmlns:config:1.0"
CSS3T_NS = "http://www.w3.org/TR/css3-text/"
DC_NS = "http://purl.org/dc/elements/1.1/"
DOM_NS = "http://www.w3.org/2001/xml-events"
DR3D_NS = "urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
DRAW_NS = "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
DRAWOOO_NS = "http://openoffice.org/2010/draw"
FIELD_NS = "urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0"
FO_NS = "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
FORM_NS = "urn:oasis:names:tc:opendocument:xmlns:form:1.0"
FORMX_NS = "urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
GRDDL_NS = "http://www.w3.org/2003/g/data-view#"
KOFFICE_NS = "http://www.koffice.org/2005/"
MANIFEST_NS = "urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"
MATH_NS = "http://www.w3.org/1998/Math/MathML"
META_NS = "urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
NUMBERS_NS = "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
OFFICE_NS = "urn:oasis:names:tc:opendocument:xmlns:office:1.0"
OFFICEOOO_NS = "http://openoffice.org/2009/office"
OF_NS = "urn:oasis:names:tc:opendocument:xmlns:of:1.2"
OOO_NS = "http://openoffice.org/2004/office"
OOOW_NS = "http://openoffice.org/2004/writer"
OOOC_NS = "http://openoffice.org/2004/calc"
PRESENTATION_NS = "urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
RDFA_NS = "http://docs.oasis-open.org/opendocument/meta/rdfa#"
RPT_NS = "http://openoffice.org/2005/report"
SCRIPT_NS = "urn:oasis:names:tc:opendocument:xmlns:script:1.0"
SMIL_NS = "urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"
STYLE_NS = "urn:oasis:names:tc:opendocument:xmlns:style:1.0"
SVG_NS = "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
TABLE_NS = "urn:oasis:names:tc:opendocument:xmlns:table:1.0"
TABLEOOO_NS = "http://openoffice.org/2009/table"
TEXT_NS = "urn:oasis:names:tc:opendocument:xmlns:text:1.0"
XFORMS_NS = "http://www.w3.org/2002/xforms"
XHTML_NS = "http://www.w3.org/1999/xhtml"
XLINKS_NS = "http://www.w3.org/1999/xlink"
XML_NS = "http://www.w3.org/XML/1998/namespace"
XSD_NS = "http://www.w3.org/2001/XMLSchema"
XSI_NS = "http://www.w3.org/2001/XMLSchema-instance"
META_NSMAP = {
'office': OFFICE_NS,
'xlink': XLINKS_NS,
'dc': DC_NS,
'meta': META_NS,
'ooo': OOO_NS,
'grddl': GRDDL_NS,
}
MANIFEST_NSMAP = {
'manifest': MANIFEST_NS,
}
STYLES_NSMAP = {
'style': STYLE_NS,
'text': TEXT_NS,
'table': TABLE_NS,
'draw': DRAW_NS,
'fo': FO_NS,
'xlink': XLINKS_NS,
'dc': DC_NS,
'meta': META_NS,
'number': NUMBERS_NS,
'svg': SVG_NS,
'chart': CHART_NS,
'dr3d': DR3D_NS,
'math': MATH_NS,
'form': FORM_NS,
'script': SCRIPT_NS,
'ooo': OOO_NS,
'ooow': OOOW_NS,
'oooc': OOOC_NS,
'office': OFFICE_NS,
'dom': DOM_NS,
'rpt': RPT_NS,
'of': OF_NS,
'xhtml': XHTML_NS,
'grddl': GRDDL_NS,
'tableooo': TABLEOOO_NS,
'css3t': CSS3T_NS,
}
SETTINGS_NSMAP = {
'office': OFFICE_NS,
'xlink': XLINKS_NS,
'config': CONFIG_NS,
'ooo': OOO_NS,
}
TEXT_NSMAP = {
'office': OFFICE_NS,
'style': STYLE_NS,
'text': TEXT_NS,
'table': TABLE_NS,
'draw': DRAW_NS,
'fo': FO_NS,
'xlink': XLINKS_NS,
'dc': DC_NS,
'meta': META_NS,
'number': NUMBERS_NS,
'presentation': PRESENTATION_NS,
'svg': SVG_NS,
'chart': CHART_NS,
'dr3d': DR3D_NS,
'math': MATH_NS,
'form': FORM_NS,
'script': SCRIPT_NS,
'ooo': OOO_NS,
'ooow': OOOW_NS,
'oooc': OOOC_NS,
'dom': DOM_NS,
'xforms': XFORMS_NS,
'xsd': XSD_NS,
'xsi': XSI_NS,
'rpt': RPT_NS,
'of': OF_NS,
'xhtml': XHTML_NS,
'grddl': GRDDL_NS,
'field': FIELD_NS,
'formx': FORMX_NS,
'tableooo': TABLEOOO_NS,
'css3t': CSS3T_NS,
}
SPREADSHEET_NSMAP = {
'presentation': PRESENTATION_NS,
}
SPREADSHEET_NSMAP.update(TEXT_NSMAP)
PRESENTATION_NSMAP = {
'smil': SMIL_NS,
'anim': ANIM_NS,
'officeooo': OFFICEOOO_NS,
'drawooo': DRAWOOO_NS,
}
PRESENTATION_NSMAP.update(SPREADSHEET_NSMAP)
GRAPHICS_NSMAP = PRESENTATION_NSMAP
ALL_NSMAP = {}
ALL_NSMAP.update(META_NSMAP)
ALL_NSMAP.update(MANIFEST_NSMAP)
ALL_NSMAP.update(STYLES_NSMAP)
ALL_NSMAP.update(SETTINGS_NSMAP)
ALL_NSMAP.update(TEXT_NSMAP)
ALL_NSMAP.update(SPREADSHEET_NSMAP)
ALL_NSMAP.update(PRESENTATION_NSMAP)
ALL_NSMAP.update(GRAPHICS_NSMAP)
MIMETYPE_NSMAP = {
"application/vnd.oasis.opendocument.text" : TEXT_NSMAP,
"application/vnd.oasis.opendocument.text-template" : TEXT_NSMAP,
"application/vnd.oasis.opendocument.graphics" : GRAPHICS_NSMAP,
"application/vnd.oasis.opendocument.graphics-template" : GRAPHICS_NSMAP,
"application/vnd.oasis.opendocument.presentation" : PRESENTATION_NSMAP,
"application/vnd.oasis.opendocument.presentation-template" : PRESENTATION_NSMAP,
"application/vnd.oasis.opendocument.spreadsheet": SPREADSHEET_NSMAP,
"application/vnd.oasis.opendocument.spreadsheet-template": SPREADSHEET_NSMAP,
"application/vnd.oasis.opendocument.chart" : GRAPHICS_NSMAP,
"application/vnd.oasis.opendocument.image" : GRAPHICS_NSMAP,
"application/vnd.oasis.opendocument.formula" : GRAPHICS_NSMAP,
}
MIMETYPE_BODYTAG_MAP = {
"application/vnd.oasis.opendocument.text" : "office:text",
"application/vnd.oasis.opendocument.text-template" : "office:text",
"application/vnd.oasis.opendocument.graphics" : "office:drawing",
"application/vnd.oasis.opendocument.graphics-template" : "office:drawing",
"application/vnd.oasis.opendocument.presentation" : "office:presentation",
"application/vnd.oasis.opendocument.presentation-template" : "office:presentation",
"application/vnd.oasis.opendocument.spreadsheet": "office:spreadsheet",
"application/vnd.oasis.opendocument.spreadsheet-template": "office:spreadsheet",
"application/vnd.oasis.opendocument.chart" : "office:chart",
"application/vnd.oasis.opendocument.image" : "office:image",
}
DEFAULT_TABLE_EXPAND_STRATEGY = "all_less_maxcount"
DEFAULT_MAXCOUNT = (32, 32)