Print to the Command Response?


#1

Is there a way to print to the command response? Ie, the little blue bar at the bottom of Maya? I’d like to be able to have functions print there because if my function needs to throw an error, it does not get seen down there if i simply use print ‘error’.


#2

Note that you can also print stuff with the “warning” (magenta) and/or “error”(red) command.
I think the blue bar is controlled by progressBar ( not sure if spelled correct ). Since sometimes users hide the command line and/or the Help Line I use the confirmDialog command if I want to really let the user know of some issue.
Hope this helps


#3

Is there a python version? Im getting a nasty recursive error when i try to use cmds.eval to run the error/warning mel function.

ie,

mc.eval('error "test"')

Is giving me a nasty error.


#4

Not sure it’s possible. from the docs:

“MEL has its own warning and error message reporting mechanisms integrated with Maya message reporting. This includes color feedback on the command line. Python comes with system modules that provide warning and error reporting functions; however, these are not integrated into Maya and do not provide color feedback in the command line.”

What I get from that snippet, is that it might be better to raise exceptions anyway rather than print errors, since that is kind of the Python way, and there’s lots of good error handling there.


#5

I’ll look into that then, im new to python as well. My python experience is only from XSI, and now Maya. I don’t know much about it beyond scripting, since any real programming i’v done has been in C#/C++.

Thanks :slight_smile:


#6

hi,

not sure why you got that error… could maybe be an…
syntax error… e.g be eval(“error “test””);
or eval error “test”; without no ()-thingie…
however I also got it working without the mc. thingie
using eval(error "test");

if you e.g. want to printout code to the command feedback window…
you can also use evalEcho in your script where you want the result shown there…
or other place spit out the result in e.g. the script editor…
e.g
evalEcho(“string $App =( “”+(about -a)+” “+ (about -v)+”")"); //lol also produces an error in the process

catch or catchQuiet might also be quite useful… if you want to handle errors… :slight_smile:
and e.g. make the user aware of it…

however I would as Buexe also mentions suggest using an confirmdialog or other kind of popup window thingie…

hope it helps a bit… :slight_smile:

regards

Strarup


#7

@Zeusbwr: eval is a mel based, not command based

so
mc.eval(‘error “test”’)should rather be:

import maya.mel as mel
mel.eval(…)

hope my thoughts are heading the right direction here,
greets,
martin


#8

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.