great, thanks for all the info. I'll have to give this stuff a good read.

-Adam

On 04/23/2012 12:16 PM, Ivan Busquets wrote:
What Hugo said.
You can find more info here:

http://docs.python.org/library/stdtypes.html#string-formatting

As for the "16" in the int() command (or "0" in the example I sent), that is the base for the string-to-integer conversion. If the argument is not given, it uses a base of 10 by default. You can pass it a value of 16 so it will interpret hex characters correctly, or 0 to let python guess the best base to use for the given string. In this case, this works because the string will always start with '0x', which Python will interpret as an hexadecimal.

More info:
http://docs.python.org/library/functions.html#int

Hope that clarifies it a bit.

Cheers,
Ivan

On Mon, Apr 23, 2012 at 12:12 PM, Hugo Léveillé <[email protected] <mailto:[email protected]>> wrote:

    Its called string formatting
    ex:
    age = '16'
    print "Hi, I am " + age + " years old"
    is the same as:
    print "Hi, I am %s years old" % age
    It has the advantage of making clearer string writing as well as
    converting int and floats to string as well
    ex:
    "I am %s years old and I have %s dollars" % (10 , 3.5)
    On Mon, Apr 23, 2012, at 12:00, Adam Hazard wrote:
    ok, cool, I think I understand it better now. Thanks, guys. Also,
    if you don't mind, another question, what exactly is the '%'
    doing in this code. And I have used 'int' before, and seen the
    '16' posted around, what exactly are those doing, I am guessing
    that is what converts the value from string to integer?

    -Adam

    On 04/23/2012 10:48 AM, Nathan Rusch wrote:
    The problem isn't hex vs. int; the value you're getting back
    from the Python knob is identical to the hex value returned by
    the nuke.tcl call. The issue you're running into is that the
    nuke.tcl call is returning the hex value as a string, so you
    need to cast it to a numeric type before you can actually use it.
    n = nuke.selectedNode()
    tile_color = int(nuke.tcl('value [topnode %s].tile_color' %
    n.name <http://n.name>()), 16)
    -Nathan
    From: Adam Hazard <mailto:[email protected]>
    Sent: Monday, April 23, 2012 10:12 AM
    To: Nuke user discussion
    <mailto:[email protected]>
    Subject: Re: [Nuke-users] python [topnode] equivalent
    Thanks Ivan.
    This was pretty much exactly what I was looking for. However I
    had to change it a little bit because this was returning the
    tile color hex value, if I understand all this correctly, and my
    function needs just the integer value. As I can't assign or set
    a tile_color using hex, or I haven't been able to figure it out.

    Anyways, for whatever reason this does the trick, kinda mixing
    your code with what I had before. I am still not very sure why
    the tile_color has 2 different value formats.

    n = nuke.selectedNode()
    topnode_name = nuke.tcl("full_name [topnode %s]" % n.name
    <http://n.name>())
    topnode = nuke.toNode(topnode_name)
    tile_col = topnode['tile_color'].value()

    Thanks again and much appreciated.
    Adam


    On 04/20/2012 06:47 PM, Ivan Busquets wrote: Or if you just want
    the tile_color of the top node, you could of course do:

    n = nuke.selectedNode()

    tile_color = nuke.tcl("value [topnode %s].tile_color" % n.name
    <http://n.name>())


    Hope that helps


    On Fri, Apr 20, 2012 at 6:41 PM, Ivan Busquets
    <[email protected] <mailto:[email protected]>> wrote:
    You can use nuke.tcl() within python to execute a tcl command.

    So, in your case, something like this should work:

    n = nuke.selectedNode()

    topnode_name = nuke.tcl("full_name [topnode %s]" % n.name
    <http://n.name>())

    topnode = nuke.toNode(topnode_name)




    On Fri, Apr 20, 2012 at 6:30 PM, Adam Hazard
    <[email protected] <mailto:[email protected]>> wrote:
    Hopefully a quick question,

    If I currently have a node selected somewhere in a tree, and I
    want to access the topnodes tile color using python, how would I
    do so? Using [[topnode].tile_color] doesn't seem to work as it
    is tcl? Looking around it seems you need to check dependecies of
    all the nodes or something, but I haven't been able to get
    anything to work.  Is there no way to convert the tcl function
    to work in python?

    Thanks in advance for any help,
    Adam
    _______________________________________________
    Nuke-users mailing list
    [email protected]
    <mailto:[email protected]>,
    http://forums.thefoundry.co.uk/
    http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users



    _______________________________________________
    Nuke-users mailing list
    [email protected]  
<mailto:[email protected]>,http://forums.thefoundry.co.uk/
    http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users

    ------------------------------------------------------------------------
    _______________________________________________
    Nuke-users mailing list
    [email protected]
    <mailto:[email protected]>,
    http://forums.thefoundry.co.uk/
    http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users


    _______________________________________________
    Nuke-users mailing list
    [email protected]  
<mailto:[email protected]>,http://forums.thefoundry.co.uk/
    http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users

    _________________________________________________
    Nuke-users mailing list
    [email protected]
    <mailto:[email protected]>,
    http://forums.thefoundry.co.uk/
    http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
-- Hugo Léveillé
    TD Compositing, Vision Globale
    [email protected] <mailto:[email protected]>

    _______________________________________________
    Nuke-users mailing list
    [email protected]
    <mailto:[email protected]>,
    http://forums.thefoundry.co.uk/
    http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users




_______________________________________________
Nuke-users mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users

_______________________________________________
Nuke-users mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users

Reply via email to