Routines and CLI to facilitate injection/extraction of OpenOffice.org macros.
Project description
Routines and CLI to facilitate injection/extraction of OpenOffice.org macros.
Works by connecting to a live instance of OOo.
It does not appear to be possible to use such a system to access Python macros in an OpenOffice document. This module only deals with Basic macros.
There has also been some effort made to “Pythonify” the uno interface, for example, by adding sequence and mapping proxy classes for some of the uno container interfaces.
Dependencies
You will need to have the py-uno bridge set up.
On Debian-ish systems like Ubuntu and Linux Mint, this can generally be installed via
$ sudo aptitude install python-uno
Installation
Installation can be done via PyPI, or by fetching and installing the source code from the github repo.
Environment
The uno Python module will normally be imported without problems on systems which have the python-uno module properly installed.
If the uno Python module cannot be imported, ooo-macro-exchange will try to add it to the path.
If the environment variable PY_UNO_PATH is defined, ooo-macro-exchange will add it to the python path.
This can also be accomplished by setting PYTHONPATH.
If PY_UNO_PATH is unset, ooo-macro-exchange will try the path /usr/lib/openoffice/basis3.2/program/.
Usage
Basic functions are
pull: output a module’s code or save it to a file
push: replace a module’s code with lines from a file or stdin
invoke: run a macro.
The oomax script provides command-line access to these actions. E.G.:
$ oomax pull 'Document 1' Standard.Module1 sub Main() ' Content of main macro end sub sub AnotherMacro() ' Content of some other macro end sub
Note that oomax push will not save the document unless the -s option is passed. Instead, it will mark both the document and its libraries as modified. This will cause the “Save” icon on the main document toolbar to activate.
Additional options can be discovered by running oomax -h.
pull, push, and invoke are also available as methods of the class oomax.Exchange.
Relationship to other modules
The structure of the code is pretty similar to that used by openoffice-python. There are vague plans to integrate this module’s functionality with it.
The code in this module was originally derived from this forum post.
License
ooo-macro-exchange is licensed under the FreeBSD License. See the file COPYING for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ooo-macro-exchange-0.2.2.tar.gz
.
File metadata
- Download URL: ooo-macro-exchange-0.2.2.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e5d992d4a308bee8ff9449591fec6f9e4324bccfa07536932c21603bc918f23 |
|
MD5 | 1825ffa8b7fa959b67b4ea7bc1ed7e65 |
|
BLAKE2b-256 | 73a14924e0d7f85e8e69ebbca2be1888a0566f97b180f13bca6d63d6d9ab987a |