def odf_new_container_from_type(odf_type): """Return an "odf_container" instance of the given type. """ if odf_type not in ODF_TYPES: raise ValueError, 'unknown ODF type "%s"' % odf_type template_path = ODF_TYPES[odf_type] template_uri = _get_abspath(template_path) return odf_new_container_from_template(template_uri)
def odf_new_container(path_or_file): """Return an odf_container instance based on the given template. """ if path_or_file in ODF_TYPES: path_or_file = _get_abspath(ODF_TYPES[path_or_file]) template_container = odf_get_container(path_or_file) # Return a copy of the template container clone = template_container.clone() # Change type from template to regular mimetype = clone.get_part('mimetype').replace('-template', '') clone.set_part('mimetype', mimetype) # Update the manifest manifest = odf_manifest(ODF_MANIFEST, clone) manifest.set_media_type('/', mimetype) clone.set_part(ODF_MANIFEST, manifest.serialize()) return clone
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with Lpod. If not, see <http://www.gnu.org/licenses/>. # # b) the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # # Import from lpod from utils import _get_abspath try: __version__ = open(_get_abspath('version.txt')).read().strip() except: __version__ = None __installation_path__ = _get_abspath('') # Constants at the first level from const import * # Register element classes import draw_page import frame import heading import list
'text': "urn:oasis:names:tc:opendocument:xmlns:text:1.0", 'xforms': "http://www.w3.org/2002/xforms", 'xlink': "http://www.w3.org/1999/xlink", 'xsd': "http://www.w3.org/2001/XMLSchema", 'xsi': "http://www.w3.org/2001/XMLSchema-instance", } FIRST_CHILD, LAST_CHILD, NEXT_SIBLING, PREV_SIBLING, STOPMARKER = range(5) ns_stripper = compile(' xmlns:\w*="[\w:\-\/\.#]*"') # An empty XML document with all namespaces declared ns_document_path = _get_abspath('templates/namespaces.xml') file = open(ns_document_path, 'rb') ns_document_data = file.read() file.close() def _decode_qname(qname): """Turn a prefixed name to a (uri, name) pair. """ if ':' in qname: prefix, name = qname.split(':') try: uri = ODF_NAMESPACES[prefix] except KeyError: raise ValueError, "XML prefix '%s' is unknown" % prefix
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with Lpod. If not, see <http://www.gnu.org/licenses/>. # # b) the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # # Import from lpod from utils import _get_abspath from _version import __version__ __installation_path__ = _get_abspath('') # Constants at the first level from const import * # Register element classes import draw_page import frame import heading import list import note import paragraph import section import shapes
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with Lpod. If not, see <http://www.gnu.org/licenses/>. # # b) the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # # Import from lpod from utils import _get_abspath from _version import __version__ __installation_path__ = _get_abspath('') # Constants at the first level from const import * # Register element classes import draw_page import frame import heading import list import note import paragraph import section import shapes import span import style