Shoobx/shoobx.rml2odt

View on GitHub
README.rst

Summary

Maintainability
Test Coverage
================================================
``shoobx.rml2odt`` -- Conversion of RML to ODT
================================================

.. image:: https://github.com/Shoobx/shoobx.rml2odt/actions/workflows/test.yml/badge.svg
   :target: https://github.com/Shoobx/shoobx.rml2odt/actions

.. image:: https://coveralls.io/repos/github/Shoobx/shoobx.rml2odt/badge.svg?branch=master
   :target: https://coveralls.io/github/Shoobx/shoobx.rml2odt?branch=master

.. image:: https://img.shields.io/pypi/v/shoobx.rml2odt.svg
    :target: https://pypi.python.org/pypi/shoobx.rml2odt

.. image:: https://img.shields.io/pypi/pyversions/shoobx.rml2odt.svg
    :target: https://pypi.python.org/pypi/shoobx.rml2odt/

.. image:: https://api.codeclimate.com/v1/badges/9c462255ca85b7f77de8/maintainability
   :target: https://codeclimate.com/github/Shoobx/shoobx.rml2odt/maintainability
   :alt: Maintainability

This library implements a converter from Reportlabs RML format to
Libreoffices/Open Document Formats ODT format utilizing the ``z3c.rml``
parser and ``odfpy`` library.

It's developed by Shoobx (https://shoobx.com) but is open source, and
we are happy to accept outside contributions. See DEVELOPMENT.rst for more
information.


Installing
==========

Install with::

    $ pip install shoobx.rml2odt


Usage
=====

There is three ways of using shoobx.rml2odt.


From the command line
---------------------

Installing shoobx.rml2odt will install a script that can be used from the
command line::

   rml2odt <infile> <outfile>


Converting files from Python
----------------------------

You can import shoobx.rml2odt as a library and convert files from Python::

    >>> from shoobx.rml2odt import rml2odt
    >>> rml2odt.convertFile(infilepath, outfilepath)

which will convert the file at infilepath and create the ODT file at
outfilepath.


Converting an RML string in Python
----------------------------------

If your RML data isn't in a file, but is held in a string, you can import
shoobx.rml2odt as a library and convert text data from Python::

    >>> from shoobx.rml2odt import rml2odt
    >>> odt_data = rml2odt.convertString(inputstring).read()
    >>> with open(outputfile, 'wb') as output:
    ...     output.write(odt_data)