Of course LibreOffice (or OpenOffice) must be installed on the system. Also unoconv is mandatory.
The scripts in here were tested with Ubuntu and work.
It is mandatory, that the system user running oooctl is a regular user with at least a home directory. LibreOffice relies on that directory to store information even in headless mode.
Recent LibreOffice versions require no X-server for running.
Normally, it should be sufficient to apt-get install unoconv. This should also install all the office packages needed.
Apart from this, you need Python 2.6 or 2.7 installed. The formerly required python-uno package is not needed anymore (but unoconv might require it). Also self-compiled Python variants should work.
You can use pip to install ulif.openoffice:
$ pip install ulif.openoffice
will install the latest released version from PyPI.
It is recommended to setup sources in a virtual environment:
$ virtualenv py27 # Python 2.6, 2.7 are supported
$ source py27/bin/activate
(py27) $
Get the sources:
(py27) $ git clone https://github.com/ulif/ulif.openoffice.git
(py27) $ cd ulif.openoffice
Install packages for testing:
(py27) $ python setup.py dev
It is recommended to start the oooctl daemon before running tests:
(py27) $ oooctl start
This will make LibreOffice listen in background and reduce runtime of tests significantly.
Running tests:
(py27) $ py.test
We also support tox to run tests for all supported Python versions:
(py27) $ pip install tox
(py27) $ tox
Of course you must have the respective Python versions installed (currently: Python 2.6, 2.7).
Running coverage detector:
(py27) $ py.test --cov=ulif.openoffice # for cmdline results
(py27) $ py.test --cov=ulif.openoffice --cov-report=html
The latter will generate HTML coverage reports in a subdirectory.
Install packages for Sphinx-base documentation:
(py27) $ python setup.py docs
(py27) $ cd doc
(py27) $ make html
Will generate the documentation in a subdirectory.