ToDoList v2.0


 
This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Frank Rueter
Website: www.ohufx.com
A panel to keep track of tasks for a shot
Requirements:
7.0 or later
Linux, Mac, Windows
03 Sep 2017
1107

Useful Nukepedia Tool #10. Explore this video: Tool Video

v2.0 - updated to use Qt.py to work in Nuke 11 as well as Nuke 10

Just unzip the arcihve and place both the ToDoList.py and Qt.py into your NUKE_PATH (If you already have Qt.py somewhere in your NUKE_PATH you can delete the included version). The rest of the install process remains the same.


v1.3 - made check for Nuke exectuiable case independent which prevented settings to be saved and loaded before in custom install environments (thanks Ean for finding that one)


v1.2 - added callback to ensure proper panel update when the script is loaded with it visible in the current layout


The ToDoList panel is a simple widget that helps organise your work on a nuke script.

watch a quick video here

ToDoList 01

To install save the downloaded file into your NUKE_PATH and put the following code into your menu.py:


import ToDoList
ToDoList.registerNukePanel()

The ToDoList lets you create as many tasks as you like, give them a description, a priority and a status, then adjust the UI setting to view your tasks the way you'd like to;
Hide finished tasks to clean up the list and sort by ascending or descending priority.
You can even copy the content of the tasks to the clipboard to quickly paste your current state of things into an email to keep those supervisors, coordinators and producers happy.

The tasks are saved to a simple xml file and associated to your nuke scripts by name and location, i.e.
if your Nuke script lives here:
/server/work/myNukeScript.nk

the respective task list will live here:
/server/work/myNukeScript_toDoSettings.xml

This means people can pre-generate the xml file and nuke script in their pipeline (e.g. through export from Hiero) and the ToDoList will automatically be populated when the nuke script is opened.

Please login in order to download these files.

Comments   

 
# Ben Warburton 2014-02-11 19:34
Nice! It works now with this update. I have a question tho...

If i want to to save the settings file to another location.

do you edit line 565?

"self.settingsFile = nuke.root()['to doSettingsFile' ].value()"
 
 
# Frank Rueter 2014-02-11 20:10
yes, that's the right spot to do it. After the change you should see the new path in the script settings under the "To Do List" tab.
I was wondering about making this use a preference file to define the location of the settings file without having to alter the main code (similar to the autosave knob in the preferences).
 
 
# Ben Warburton 2014-02-11 20:25
Ok, that works. thanks.

I like the idea of a preference file! :-)
 
 
# Frank Rueter 2014-02-11 20:50
yes, when I find some time for this again I will have a go at making this configurable
 
 
# Steve Drew 2014-08-26 01:00
Hi Frank - I love this!
One issue unfortunately, I seem to be crashing from time to time when I save my script. It only started happening when I installed the ToDoList, and went away when I uninstalled it.
Not sure what it's conflicting with...?
 
 
# Frank Rueter 2014-08-26 01:05
not sure. what's the error message when it crashes? I have been using it full on for the last few weeks without related crashes. Does Nuke crash when you save or when you close the session?
 
 
# Steve Drew 2014-08-30 04:44
Sorry for the delay, was waiting for a good crash that gave me something in the console. The crashes happen on manually saving a script, not on session close. I'm on Windows by the way.

Here's what the console gave me just now:
Qt has caught an exception thrown from an event handler. Throwing exceptions from an event handler is not supported in Qt. You must reimplement QApplication::n otify() and catch all exceptions there.
 
 
# Frank Rueter 2014-08-31 06:52
Hm, that sounds more like a Nuke bug.
Was there any stack trace printed that indicates which event handler triggered this?
 
 
# Steve Drew 2014-09-01 04:46
Not that I can see, although I sometimes also see:
Could not parse stylesheet of widget 0x9b768410

It's worth noting actually that these crashes more often than not happen before I've filled out some tasks on the ToDoList. Once it's been populated it seems more stable.

Again, this could totally be a local conflict within our pipeline, but it does seem to only occur with the ToDoList.

Working on Nuke 7.0v10
 
 
# Frank Rueter 2014-09-01 04:52
Not sure what to suggest. Neither of those errors occurs for me, nor does it crash. I can forward this to the Foundry to see what they say though
 
 
# mi sci 2014-09-08 09:22
hi Frank

I'm on 8.05 on Windows and it's not working

I've got this in my menu.py that is located on a network drive:

nuke.pluginAddPath( './python' )
import toDoList
toDoList.registerNukePanel()

I had to chance the capital letter in your example to small 't'.

This generates the panel, but nothing happens afterwards when I save the script.

What I'm doing wrong?

Thank you for your help.

Michael
 
 
# Frank Rueter 2014-09-08 21:32
Are you getting any errors in the terminal?
What do you mean by "it generates the panel but nothing happens"?
It's a bit strange you had to change to lower case "t". The module is called "ToDoList" not "toDoList", so I would investigate that first. Sounds like you are not importing what you think you are.
 
 
# mi sci 2014-09-09 08:30
Hi Frank

The problem with the downloaded file was the encoding: ASCI instead of UTF-8 - I converted it in Notepad++ and it works.
I don't know why...but let's assign a few tasks.

Regards,
Michael
 
 
# Frank Rueter 2014-09-10 01:56
hm, weird. Does it also work if you put the encoding declaration in the header:
# -*- coding: utf-8 -*-

I have never encountered this before though apparently ASCII is the default encoding for Python 2, while Python 3 uses UTF8 (not that that helps inside of Nuke)
 
 
# Sven Akelian 2017-08-29 14:57
Hope you don't mind me sharing:

Here is the PySide2 Compatible version of it:

https://pastebin.com/kpAzr152
 
 
# Frank Rueter 2017-08-29 21:20
nice one, thanks!
I am using this every day again now and was planning to update it using Qt.py so it's compatible with both Nuke 11 and earlier versions. This should actually only take a few moments so will try to tackle it some time after work this week.
Thanks for posting this in the interim though!
 
 
+1 # Frank Rueter 2017-09-03 04:33
I just updated this to v2.0 - this uses Qt.py to be compatible with both Nuke 10 and Nuke 11.
Thanks Sven for the nudge and the intermediate solution.
 
 
# Blic cer 2018-12-23 13:46
Those are the sexiest animations I have ever seen in a "simple" text tool :D Thank you so much.

- An automatic sorter would be great, though. Meaning a special filter which drags the finished ones way to the bottom and the red ones on top.

- This is connected to another tool, but connected to the pysides... (but since u did nukepedia, thank you sir) there are so many tools on nukepedia using the old PySides. I have found a try / except command which imports e.g. qtgui from the pyside2 etc... I have a tool now though which says:
from PySide.QtGui import *
from PySide.QtCore import *
and I cant get it run with the pyside2 commands. any ideas?
I can delete this part again, of course...
 
 
# Frank Rueter 2018-12-24 02:11
Currently the tool will only sort by priorities which you can modify.
If I get around to looking at this again I can implement more sorting options.
As for PuySide vs PySide2, I would highly recommend using Qt.py to make code work with either version:
https://github.com/mottosso/Qt.py

Other than that I recommend using hte nuke-python forum to ask for help.

Cheers,
frank
 
 
# Fred Plumey 2019-04-29 14:54
Great Job, Thanks for the tool. it looks to work fine. Going to test it on production.
 
 
# Chris Staves 2019-08-30 13:32
Hey Frank,
Nice little Add-On. I will start trying to use it and see how it works out. I just have a few small suggestions.

First, when you use it, it spits out a ton of DEBUG messages to the console. I deleted the line "logger.setLeve l(logging.DEBUG )", and that seems to have stopped it from spamming the console. Is that the right thing to do?

At the moment, the priority number can be any number, even negative. Seems like you could limit these to 0-5 or something.

It'd be nice if there were a way to add a new task from the keyboard. If I'm writing up a list of things to do, I have to grab the pen or mouse each time and click on Add Task. Personally, I'd like it if, when you hit return after typing in a task, it would then create a new task.

When your ToDo text extends past the text box, there's no way to see that text unless you select the text and drag, sliding it into view. It would be much nicer if it handled this in a more elegant way, like making the text box bigger when it fills up a line.

Thanks again for the cool tool.
 
 
# Frank Rueter 2019-09-02 00:49
Hi Chris,
thanks for the feedback. Deleting the logger line or using a different log level like logging.ERROR is the right to do to suppress the debug messages.
I agree about the text box needing to be bigger/multi line, one day when I get time again...
Try alt+shift+enter to add a new task, I added that to the first version for exactly the reason you mentioned.

Cheers,
frank
 
 
# Blic cer 2019-11-04 22:06
Qt.py now seems to have issues with Nuke12. Can't load the program without disabling this tool.
 
 
# Frank Rueter 2019-11-04 23:07
Yeah, no huge surprise.
What is the specific error you are seeing? Are you using the latest Qt.py?
I have not yet moved to v12 as I'm in the middle of production but will make sure to update as needed when I get there. Let me know if it's urgent for you and I will try and make time sooner than later.
 

You have no rights to post comments

We have 2062 guests and 63 members online