Hi Nathan,
thanks a lot for having a look at this.

The weird thing is that the code I have works perfectly when reading the
text from a text file, just not when reading from paste. Really annoying to
start and write it again from scratch. Plus, I would love to have learned
from this script something useful about re.
Any chance you can have another look?

Thanks,
Ron Ganbar
email: [email protected]
tel: +44 (0)7968 007 309 [UK]
     +972 (0)54 255 9765 [Israel]
url: http://ronganbar.wordpress.com/



On 19 June 2012 07:32, Nathan Rusch <[email protected]> wrote:

>   Hey Ron,
>
> I finally got a minute to take a look at your code, and I think it’s
> pretty clear that the regular expressions are simply failing to match
> meaningful pieces of the incoming data. However, having done AE keyframe
> parsing myself in the past (for corner-pinning), I think you may be
> overcomplicating the situation a little. I would suggest switching to
> simple per-line tokenization based on simple whitespace splitting (which
> Python makes ridiculously easy), with logic similar to this:
>
> 1) Break your raw data into lines (with rawdata.splitlines())
> 2) Find all 'Transform *' header indices in your line list
> 3) Starting at each header index + 1 extra line (to account for column
> headers), loop until you hit the next header index (or blank line).
> 4) At each line, simply use line.split() to tokenize it into strings
> representing each column, cast each to an appropriate value, and add it to
> a list of keyframes.
> 5) For the header, you know it will be all lines up to the first
> meaningful keyframe block, and it’s easy enough to do the same and parse
> each line based on its text. I would just grab those values first and use
> them to do on-the-fly image space conversion for things like position.
>
> Also, depending on how many different types of keyframes you want to paste
> in, you may want to consider a simple hierarchy of functions (or even
> classes) for parsing different types of keyframe blocks (Position,
> Rotation, Scale, ...), and maybe even creating the different types of nodes
> in-line. They will all use the same basic technique for extracting raw
> data, but then each would be able to handle it slightly differently.
>
> Anyway, hope this makes sense.
>
> -Nathan
>
>
>  *From:* Ron Ganbar <[email protected]>
> *Sent:* Friday, June 01, 2012 5:17 AM
> *To:* Nuke Python discussion <[email protected]>
> *Subject:* [Nuke-python] AE Transform to Nuke
>
>  Hi all,
> so I've been trying to write this AE Transform to Nuke Transform parser
> where you simply copy keyframes in After Effects and paste them into Nuke
> and you get a Transform.
> I got it to work too after a lot of help from the forum - thanks everyone!
> But when I collected it into a function and created a callback for it, it
> broke, and I don't know why. It's been doing my head in for the past three
> weeks and I can't figure out why!
>
> I was hoping someone would take a look at it.
>
> I'm attaching two files:
> AE_to_Nuke.txt is a copy of a few keyframes from After Effects. This is
> what you should copy then paste in the DAG to test the function.
> AE_to_Nuke.py is the function I wrote, including the callback at the
> bottom.
>
> Any help would be greatly appreciated.
>
> Thanks,
> Ron Ganbar
> email: [email protected]
> tel: +44 (0)7968 007 309 [UK]
>      +972 (0)54 255 9765 [Israel]
> url: http://ronganbar.wordpress.com/
>
>
> ------------------------------
> _______________________________________________
> Nuke-python mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
>
> _______________________________________________
> Nuke-python mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
>
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to