[about weakdicts and the possibility of building them on weak references; the obvious way doesn't clean up the dict itself by magic; maybe a weak object should be notified when its referent goes away ] Here is a new version of my Proxy package which includes a self managing weak reference mechanism without the need to add extra bits or bytes to all Python objects: http://starship.skyport.net/~lemburg/mxProxy-pre0.2.0.zip The docs and an explanation of how the thingie works are included in the archive's Doc subdir. Basically it builds upon the idea I posted earlier on on this thread -- with a few extra kicks to get it right in the end ;-) Usage is pretty simple: from Proxy import WeakProxy object = [] wr = WeakProxy(object) wr.append(8) del object >>> wr[0] Traceback (innermost last): File "<stdin>", line 1, in ? mxProxy.LostReferenceError: object already garbage collected I have checked the ref counts pretty thoroughly, but before going public I would like the Python-Dev crowd to run some tests as well: after all, the point is for the weak references to be weak and that's sometimes a bit hard to check. Hope you have as much fun with it as I had writing it ;-) Ah yes, for the raw details have a look at the code. The code uses a list of back references to the weak Proxies and notifies them when the object goes away... would it be useful to add a hook to the Proxies so that they can apply some other action as well ? -- Marc-Andre Lemburg ______________________________________________________________________ Y2000: 135 days left Business: http://www.lemburg.com/ Python Pages: http://www.lemburg.com/python/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4