Changing class name causes process to 'hang'

Tim Johnson tim at johnsons-web.com
Sun Mar 13 19:48:38 EDT 2011


* Terry Reedy <tjreedy at udel.edu> [110313 13:46]:
> On 3/13/2011 3:17 PM, Tim Johnson wrote:
> >* Tim Johnson<tim at johnsons-web.com>  [110313 08:27]:
> 
> Your fundamental problem is that you changed the api of your module.
> When you do that, 
  No. I created a 'fork' of the original so that the 'fork' uses
  a different interface. The original API remains in legacy code
  unchanged...
> you have to review all code that uses that api --
> or that depends on it. 
  See above.

> The test should be (and should have been)
>    elif isinstance(args, cgi.cgitools):
 Oh of course, forgot about isinstance. That is a good tip!
 
> This would have and will fail with a loud AttributeError when
> cgitools is renamed.
  Understood. 
  And AttributeError would be my friend and mentor nevertheless.

> Consider upgrading to 2.7 if you have not and using the logging module.
 :) I like my logging module, I believe it may have 'anticipated'
 the 2.7 module. And I can't count on my client's servers to host
 2.7 for a while.
> 
> Double double underscore names are 'special' rather than necessarily
> 'private'. These two are somewhat documented (3.2 Reference, 3.1,
> "__class__ is the instance’s class", "__name__ is the class name").
> So they will not change or disappear without notice. I expect them
> to be pretty stable.
 Good to hear. 
 Thanks Terry.
-- 
Tim 
tim at johnsons-web.com or akwebsoft.com
http://www.akwebsoft.com



More information about the Python-list mailing list