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