MRI - UNO Object Inspection Tool

Primary tabs

Maintainer:
hanya
Rating:
4.2

Average: 4.2 (10 votes)

Application:
OpenOffice.org
Tags:
Extension Development
Source code:
https://github.com/hanya/MRI
Post date:
Saturday, 15 September, 2007 - 08:04
Statistics
Week: Not tracked - Month: Not tracked - Year: Not tracked
Download extension
System Independent version - All releases
Compatible with OpenOffice 4: Yes
User feedback:
Compatible with OpenOffice 4.x?

MRI is an introspection tool of UNO objects, written in Python. If you want to know about UNO objects, try to use MRI. Targets of this extension are macro, extension developer and so on.
MRI is an UNO service so that it can be used easily from any other languages.

MRI needs Python-UNO binding installation.

Online Documentation is available.

Version 1.1.3 supports OpenOffice.org 3.0.1 or later with Python 2.3.x or 2.6.x. And also LibreOffice 3.3 - 3.5 are supported.

Version 1.2.X and 1.3.X supports Apache OpenOffice 3.4 - 4.1.

MRI - UNO Object Inspection Tool

Version Operating system Compatibility Release date
1.3.3 System Independent 3.4, 4.0, 4.1 14/04/2016 - 04:37 More information Download
1.2.4 System Independent 3.4, 4.0, 4.1 18/12/2014 - 12:05 More information Download
1.1.5 System Independent -- 27/05/2013 - 10:42 More information Download
1.0.2 System Independent 3.0, 3.1, 3.2, 3.3, 3.4 06/12/2011 - 08:27 More information Download
0.10.0 System Independent 3.0, 3.1, 3.2, 3.3, 3.4 26/10/2011 - 08:59 More information Download

Comments

I have LibreOffice 5 installed on my pc , I am using Linux Mint17.3 , The first time I installed and used MRI Tools just fine.I use the version 1.1.5. But it's suddenly being crash when I installed python3.4.4 (Release date on February,14,2016) on their official sites. Every time I open the MRI Tools (via =>Tools-Add Ons->MRI Tools), there is a message box alert, it said "Std:Bad_Alloc". I had tried to re-install the version and also tried another version but it didn't work to solve it. Is it some kind of a bug instead?
If Someone's had the same problem with me and had been succeed to solve it, please let me know what is the caused of the problem

LibreOffice has changed the Documentation-tool from `Autodoc` to `Doxygen`
Depending on this the Links to Doc-files from out MRI are broken.

A quick patch for ~/pythonpath/mytools_Mri/web.py
-15:import uno
+15:import uno, glob
-82 ff
+82 ff:
....def open_idl_reference(self, idltarget, word=''):
........"""Open IDL Reference."""
........template = "{0}docs/idl/ref/*{1}.html".format
........if idltarget:
............targetname = '_1_1'.join( idltarget.split('.') )
............idlurl = glob.glob( template( self.sdk_path, targetname ) )[0]
............self.open_url(idlurl)
........else:
............self.cast.status('IDL target was not found.')

Thanks for your patch. But target of your patch is only local files.
And also, anchor for each members seems hash or something, enums do not have own pages anymore on doxygen generated pages. Needs some hacks for them too.

Yes, youre right, another Problem with local installed SDK on Windows:
The Name-konvention of files below ~sdk/docs/idl/ref/ is completly different to the filenames on Linux - so the patch above roughly works only on Linux with local SDK.

LibreOffice Base -> Tools -> Extension Manager -> Add brings up MRI-1.2.1.oxt as the only extension available to install. The oxt file is in my ~/Downloads dir. When I select the only entry and click on Open, I scroll down through the license and click Accept. The result is that a message is returned that says "an error occurred during file opening". No further clue. I got the same result with MRI-1.2.0.

What might I be missing here? I had MRI installed once before, quite some time ago. I am running Ubuntu 12.0.4. I downloaded the MRI file from http://extensions.openoffice.org/en/project/MRI.

> ...I scroll down through the license and click Accept. The result is that a message is returned that says "an error occurred during file opening".
I have no idea about it. It seems the file is not broken because you can see the license description.
I tried to install 1.2.1 on LO 4.1.X running on Xubuntu 12.04 32 bit and it worked.

Thanks for this tool, trying to get my head around Base's Docs Forms Form and DrawPage. I can confirm version 1.1.5 on LibreO 4.0.3.3 on Puppy Linux Slacko 5.3.1 works. BTW 1.1.4 fails and that is the latest version on the LibreO extension site.

As described in https://github.com/hanya/MRI/issues/1 , I have not registerd this extension
to the extension repository of LibreOffice. I can not add new versions to there.

Thanks for the explanation. Would you wish to update the Libre Office extension repository if possible?

> Would you wish to update the Libre Office extension repository if possible?
No I don't. I do not want to update even here.
Recently, MRI extension is hosted in github and also its update feed is placed there too.
This extension is not for normal user like who do not know about macros or coding with API.
And also I'm considering to drop LO support near the future.

Hello

After enabling Grid-View in Mri-Config and restart Mri i get [on Mouseklick] the StackTrace:

getSelection
Traceback (most recent call last):
File ".../MRI-1.1.4.oxt/pythonpath/mytools_Mri/ui/grid.py", line 211, in mousePressed
self.cast.info_action(category)
File "..../MRI-1.1.4.oxt/pythonpath/mytools_Mri/ui/__init__.py", line 283, in info_action
word = self.pages.get_first_word()
File "..../MRI-1.1.4.oxt/pythonpath/mytools_Mri/ui/grid.py", line 256, in get_first_word
return self.get_cell(index)
File ".../MRI-1.1.4.oxt/pythonpath/mytools_Mri/ui/grid.py", line 304, in get_cell
row_index = self._get_selected(ctrl)
File ".../MRI-1.1.4.oxt/pythonpath/mytools_Mri/ui/grid.py", line 472, in _get_selected
selections = grid.getSelection()
AttributeError: getSelection

Thanks Karolus

works as expectet without Option []use Grid

Hi,
Fixed on 1.1.5. So LO 4.0.X supports the same API level with AOO 3.4.X.
But LO 4.1 beta1 is broken now about macro and dialog IO, I can not test it on now.

Hi,
Thank you for reporting.
Unfortunatelly the grid control on LibreOffice is buggy. It seems I need to disable the feature on LO until it being work well. Please use it with the option disabled.

I wanted to load MRI onto a fresh download of the latest OpenOffice 3.4.1 but it's failing with syntax error exceptions in the python interpreter/compiler. The error is different if I ask it to install for one versus all users, the most telling is if I ask it to install only for my user, then I get this:

com.sun.star.uno.RuntimeException {{ Message="exceptions: SyntaxError: invalid syntax(MRI.py, line 21) traceback follows \X000a /Applications/OpenOffice.org.app/Contents/basis-link/Program/pythonloader.py:100 in function getModuleFromURL() [ codeobject= compile(src, encfile(filename), \"exec\")]\X000a /Applications/OpenOffice.org.app/Contents/basis-link/program/pythonloader.py:129 in function writeRegistryInfo() [mod=self.getModuleFromURL(locationURL)] \X000a", Context=(com.sun.star.uno.XInterface) @0 }}

From this it appears that the writeRegistryInfo() method is bombing out trying to resolve a module from a given URL. I don't have the tools available to debug the python scripting but hopefully this gives some clues as to why this is failing on Mac (Darwin) OS.

-Wayne

Mac OSX version of AOO 3.4.1 still uses Python version 2.3.X.
MRI version 1.1.4 does not work anymore with old Python versions.
Which version did you try to install? How about 1.0.0 or 0.10.0?

The message starts:
(com.sun.star.uno.RuntimeException){{Message = "exceptions.SyntaxError(MRI.py, line 53), ...........

I installet your new 0.9.1 and got no failure messages.
However nothing happens when I run the python macros copied from your on-line document.
Nothing also happens when i do Tools- AddOns- MRI or Tools- AddOns- MRI Something more to do before to start it?

I found some problems on Python 2.3.4, set, operator, and so on. Now following one works on OOo 3.0.1, Python 2.3.4 and Windows XP.
If it does not work on Mac OS X version of the office, please someone give me a MacOSX environment.
http://hermione.s41.xrea.com/pukiwiki/index.php?plugin=attach&pcmd=open&file=MRI-0.9.2.oxt&refer=OOo%2FExt%2FMRI

This one looks OK to me! However, I have no experience in using the MRI-extension. Hopefully, you will hear from more reliable people.

> This one looks OK to me! However, I have no experience in using the MRI-extension. Hopefully, you will hear from more reliable people.

Thank you for your help.

Please, does the version 0.9.0 work on LibreOffice 3.3.4?
Thanks!

Please update the Maximal-version-number in description.xml to:
OpenOffice.org-maximal-version value="3.4" d:name="OpenOffice.org 3.4"

I could successfully install MRI 0.8.4 in OpenOffice.org 3.3.0 on Windows 7.

Also tried to install MRI 0.8.4 in OpenOffice.org 3.3.0 on Mac OS X 10.6.7, but without success. Extension Manager issued an error message about invalid syntax in line 53 of MRI.py. The error message included the following traceback: MRI.py, line 53 -> pythonloader.py, line 106 -> pythonloader.py, line 135.

While I don't think that's the issue, just for completeness: Mac OS X 10.6.7 comes with Python 2.6.1 while OpenOffice.org 3.3.0 for Windows seems to get shipped with Python 2.6.5.

The MRI Extension failed to load properly for me using LibreOffice 3.3 on Windows XP. I encountered the same problem on 2 different computers (1 running XP 32, the other XP 64).

The MRI installer launches properly, I hit continue and then MRI starts loading and then crashes with the following Extension Manager error message dialog:
(com.sun.star.uno.RuntimeException) { { Message = "python-loader:: No Module named pythonloader, traceback follows\X000ano traceback available", Context = (com.sun.star.uno.XInterface) @0 } }

See the link below for a screenshot of the error:
http://imagebin.org/137937

Hopefully this can be fixed. Thanks.

p.s. I was able to successfully install MRI on OpenOffice 3.3, but would prefer to use LibreOffice 3.3.

Hi,

You have met the bug of LibreOffice reported in :
https://bugs.freedesktop.org/show_bug.cgi?id=33355

This problem means any extensions and macros written in Python do not work on Windows environment.
And it will be fixed on LibreOffice 3.3.1 which will be released soon.

This problem was known as the another issue since last year. I wonder why they decide to release it.

The workaround detailed in the bug report thread allowed me to successfully install MRI.

Just copy the pythonloader.uno.dll from OpenOffice 3.3 to LibreOffice 3.3 (i.e. overwrite the current one or rename it):
1. copy: "OpenOffice.org 3/Basis/Program/pythonloader.uno.dll"
2. paste: "LibreOffice 3/Basis/Program/pythonloader.uno.dll"

will this work on LibreOffice?

Hi,

It seems MRI works well on LibreOffice RC1.

When I try to install MRI 0.6.0 or 0.5.4 on OO 3.1.1. (310m19) on Windows 7 I get the same error as decribed here: http://www.multiracio.com/eurooffice/support/faq#section-12 ('module' object has no attribute 'WriteRegistryInfo').

I tried all solutions from that website but none worked on my system. On the other side it is no problem to install other extensions on my system, e.g.:

http://extensions.services.openoffice.org/project/MatrixManipulator
http://extensions.services.openoffice.org/project/sudoku1
http://extensions.services.openoffice.org/project/SemanticWebBuilderOpenOffice
http://extensions.services.openoffice.org/project/DataPilotTools

Because the multiracio website confirms that the error is a problem with their version and because I can install other extensions without any problem I believe that the error is related to the MRI extension. Please help.

I don't have Windows 7 and I tried to install MRI on OOo 3.1.1 (OOo310m19 Build:9420) and Windows XP. I could install it without problems.
These extension you mentioned above do not use Python. Try other extensions using python if you want.
Sometimes pythonloader.py raises unknown error caused by unsolved reasons.