[code.view]

[top] / python / PyMOTW / weakref / weakref_weakgraph.py

     #!/usr/bin/env python
     # encoding: utf-8
     #
     # Copyright (c) 2008 Doug Hellmann All rights reserved.
     #
     """Tools for demonstrating garbage collection
     """
     #end_pymotw_header
     
     import gc
     from pprint import pprint
     import weakref
     
     from weakref_graph import Graph, demo
     
     class WeakGraph(Graph):
         def set_next(self, other):
             if other is not None:
                 # See if we should replace the reference
                 # to other with a weakref.
                 if self in other.all_nodes():
                     other = weakref.proxy(other)
             super(WeakGraph, self).set_next(other)
             return
                     
     demo(WeakGraph)
     

[top] / python / PyMOTW / weakref / weakref_weakgraph.py

contact | logmethods.com