you can count the folders before hand using something like os.walk()
http://www.saltycrane.com/blog/2007/03/python-oswalk-example/
cheers!!
.:varomix:.
MIX Studio
3D Artist/Generalist TD
[email protected] <[email protected]>
Contact Me [image: Linkedin] <http://mx.linkedin.com/in/varomix>[image:
Facebook] <http://www.facebook.com/varomix>[image:
Twitter]<http://www.twitter.com/varomix>
On Tue, Sep 18, 2012 at 1:14 PM, Howard Jones <[email protected]>wrote:
> Hooray - a clear explanation!
>
> Out of interest what do you do if you don't know how many iterations are
> needed so in
>
> progIncr = 100.0 / len(reads)
>
> you cant know the value of len(reads)?
>
> Say you are walking a path and dont know how many subfolders there are but
> want to show progress on the walk?
>
> Cheers
> Howard
>
> ------------------------------
> *From:* Luca Fiorentini <[email protected]>
> *To:* Nuke Python discussion <[email protected]>
> *Sent:* Tuesday, 18 September 2012, 18:56
> *Subject:* Re: [Nuke-python] progress bar
>
> Thanks Nathan!
>
> Now it is way clearer and works like a charm!
>
> Kudos :)
>
> On Tue, Sep 18, 2012 at 7:34 PM, Nathan Rusch <[email protected]>wrote:
>
> You’re basically on the right track. You need to run your slow function
> on a separate thread to avoid blocking Nuke’s GUI until it finishes, and
> you would create and update your progress bar from within that function as
> well so it will update properly in time with your processing.
>
>
> import threading
> import time
>
> def dummy():
> task = nuke.ProgressTask('Examining Read Nodes...')
> reads = nuke.allNodes('Read')
> progIncr = 100.0 / len(reads)
> for i, r in enumerate(reads):
> if task.isCancelled():
> nuke.executeInMainThread(nuke.message, args=('Aborted',))
> return
> task.setProgress(int(i * progIncr))
> task.setMessage(r.fullName())
> # Placeholder for some long per-node process
> time.sleep(2)
>
> def aMenuCommand():
> # This is the function you would actually bind to a Nuke menu command
> threading.Thread(target=dummy).start()
>
>
> -Nathan
>
>
> *From:* Luca Fiorentini <[email protected]>
> *Sent:* Tuesday, September 18, 2012 10:19 AM
> *To:* [email protected]
> *Subject:* [Nuke-python] progress bar
>
> Hi!
>
> I am trying to make a progress bar but with no success.
> I took a look at the code in the guide
>
>
> http://docs.thefoundry.co.uk/nuke/63/pythondevguide/basics.html#creating-progress-bar-dialogs
>
> But I am clearly missing something.
> Could someone kindly explain it to me in an easier way?
> Imagine I have a function like this:
>
> def dummy():
> for n in nuke.allNodes('Read'):
> print 'here my super slow function'
>
> where and how should I implement the progress bar?
> should I use the code from the example and then call the whole funciont in
> a new thread? like
>
> threading.Thread( None, dummy ).start()
>
> Thanks for your time
>
> --
> *Luca Fiorentini - 3D Lighting Artist*
> My Showreel <http://www.vimeo.com/lucafiorentini/reel> - My
> blog<http://lucafiorentini.wordpress.com/>- My
> Flickr <http://www.flickr.com/photos/lucafiorentini>
>
> ------------------------------
> _______________________________________________
> 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
>
>
>
>
> --
> *Luca Fiorentini - 3D Lighting Artist*
> My Showreel <http://www.vimeo.com/lucafiorentini/reel> - My
> blog<http://lucafiorentini.wordpress.com/>- My
> Flickr <http://www.flickr.com/photos/lucafiorentini>
>
>
> _______________________________________________
> 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