UPDATE 19/09: it seems that some people had misunderstood the post title, so here is a clarification: I’m not comparing Word with OpenOffice or something like that, the title refers to the design choices of OpenOffice in using Python 2.6 as an option for scripting language, it’s a humorous title and should not be considered in literal sense.

This is a very simple, but powerful, Python script to call Google Sets API (in fact it’s not an API call – since Google doesn’t have an official API for Sets service – but an interesting and well done scraper using BeautifulSoup) inside the OpenOffice 3.1.1 Writer… anyway, you can check the video to understand what it really does:

And here is the very complex source-code:

from xgoogle.googlesets import GoogleSets def growMyLines(): """ Calls Google Set unofficial API (xgoogle) """ doc = XSCRIPTCONTEXT.getDocument() controller = doc.getCurrentController() selection = controller.getSelection() count = selection.getCount(); text_range = selection.getByIndex(0); lines_list = text_range.getString().split("

"); gset = GoogleSets(lines_list) gset_results = gset.get_results() results_concat = "

".join(gset_results) text_range.setString(results_concat); g_exportedScripts = growMyLines,

You need to put the “xgoogle” module inside the “OpenOffice.org 3\Basis\program\python-core-2.6.1\lib” path, and the above script inside “OpenOffice.org 3\Basis\share\Scripts\python”.

I hope you enjoyed =) with new Python 2.6 core in OpenOffice 3, they have increased the productivity potential at the limit.