[chimera-dev] [Chimera] #7111: problem with "toolbar buttons" programmer's example (was: Chimera bug report submission)

Eric Pettersen pett at cgl.ucsf.edu
Wed Apr 1 20:09:54 PDT 2009


Hi Richard,
	The issue here is that Chimera executes Python scripts in temporary  
modules so that they don't interact with Chimera's own global  
namespace (they don't accidentally pick up names from the global  
namespace nor do they leave definitions there).  After the script is  
executed, the temporary module is deleted from sys.modules.  When that  
happens Python clears references in the module's globals dictionary by  
setting the values to None in an attempt to break circular references  
for garbage-collection and destructor-invocation purposes.  So...  the  
script's attempt to use those names later (when the toolbar button is  
pressed) produces the "'NoneType' object has no attribute 'compile'"  
error since when Python looks up "re" in the module's globals  
dictionary it gets 'None' back.
	The fix is to put "import re" inside the function definition (as well  
as an additional "import chimera" [an import is still required at the  
global level for code after the button-callback function]).  I will  
need to update the example to account for this behavior.  The example  
was written back when scripts were executed in Chimera's own namespace.

--Eric

On Apr 1, 2009, at 11:36 AM, Chimera wrote:

> #7111: problem with "toolbar buttons" programmer's example
> ----------------------------------------------- 
> +----------------------------
> Reporter:  richard.marhoefer@…                |       Owner:  pett
>     Type:  defect                             |      Status:  accepted
> Priority:  normal                             |   Milestone:   
> Release 1.4
> Component:  Core                               |     Version:  1.0  
> (build 2540)
> Severity:  normal                             |    Keywords:
> Blockedby:                                     |     Project:  chimera
> Platform:  all                                |    Blocking:
> ----------------------------------------------- 
> +----------------------------
> Changes (by pett):
>
>  * status:  new => accepted
>  * reporter:  chimera-bug-report@… => richard.marhoefer@…
>  * component:  => Core
>  * project:  => chimera
>  * platform:  => all
>  * version:  => 1.0 (build 2540)
>  * milestone:  => Release 1.4
>  * owner:  => pett
>
>
> -- 
> Ticket URL: <http://socrates2.cgl.ucsf.edu/trac/chimera/ticket/7111#comment:2 
> >
> Chimera <http://socrates2.cgl.ucsf.edu/trac/chimera>
> Chimera Issue Tracker

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-dev/attachments/20090401/32077125/attachment.html>


More information about the Chimera-dev mailing list