Skip to main content

ooo-macro-exchange

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.

Metadata

Release files for ooo-macro-exchange 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ooo-macro-exchange 0.2.2
File Size Uploaded Provenance
ooo-macro-exchange-0.2.2.tar.gz 10.0 kB Without provenance Details

Release files / ooo-macro-exchange-0.2.2.tar.gz

Download URL ooo-macro-exchange-0.2.2.tar.gz
Size 10.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1e5d992d4a308bee8ff9449591fec6f9e4324bccfa07536932c21603bc918f23
BLAKE2b-256 checksum
How to use checksums
73a14924e0d7f85e8e69ebbca2be1888a0566f97b180f13bca6d63d6d9ab987a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for ooo-macro-exchange 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.2 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page