It should be in an initialize method, since refresh can also be
called more than once. pylint can catch a lot of that kind of thing
for you, which it reports as attributes defined outside of __init__
(we also allow attributes to be defined in initialize()).
pylint currently complains about _configureGrid, _cancelButton,
_discoveryError, _startButton, _zfcpNotebook, _okButton,
_deviceEntry and _conditionNotebook. Most of those are currently
defined in refresh().
Note that I've configured pylint to also accept that attributes can be
defined in the _grabObjects method. You can provide one of those and
call it in your initialize method just for this purpose.
- Chris