/[gzz]/gzz/gfx/demo/gldemo.py
ViewVC logotype

Diff of /gzz/gfx/demo/gldemo.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.41 by jvk, Wed Oct 9 10:32:17 2002 UTC revision 1.42 by jvk, Fri Oct 11 10:37:58 2002 UTC
# Line 229  def loadScenes(): Line 229  def loadScenes():
229      print "RELOAD"      print "RELOAD"
230    
231      if 1:      if 1:
232          # Reload gfx.* modules          # Force reload of all gfx.* modules
233            
234          mods = sys.modules.keys()          mods = sys.modules.keys()
235          mods.sort()          mods.sort()
236    
237          # XXX: simply deleting the modules forces a reload,          # XXX: simply deleting the modules forces a reload,
238          # but some modules may want to cache data in globals over reloads          # but some modules may want to cache data in globals over reloads
239          #for mod in mods:          # so we check for a "__do_not_delete__" directive.
240          #    del sys.modules[mod]          # Note: such modules must reload dependencies themselves
241            
242            for modname in mods:
243                mod = sys.modules[modname]
244                if hasattr(mod, "__do_not_delete__"):
245                    print "Reloading", modname
246                    reload(mod)
247                    
248            for modname in mods:
249                mod = sys.modules[modname]
250                if not hasattr(mod, "__do_not_delete__"):
251                    if modname[:4] == "gfx." and hasattr(mod, "__file__"):
252                        print "Deleting", modname
253                        del sys.modules[modname]
254    
255          # XXX: need to reload twice so that "from foo import bar"          # XXX: need to reload twice so that "from foo import bar"
256          # in a reloaded module can get the newer version even if          # in a reloaded module can get the newer version even if
257          # foo is later in the list and has not yet been reloaded          # foo is later in the list and has not yet been reloaded
258          for iter in range(0,2):          #for iter in range(0,2):
259              for mod in mods:          #    for mod in mods:
260                  if mod[:4] == "gfx." and hasattr(sys.modules[mod], "__file__"):          #        if mod[:4] == "gfx." and hasattr(sys.modules[mod], "__file__"):
261                      print "Reloading", mod          #            print "Reloading", mod
262                      reload(sys.modules[mod])          #            reload(sys.modules[mod])
263            
264      try:      try:
265          exec open(scenefile) in globals(), globals()          exec open(scenefile) in globals(), globals()

Legend:
Removed from v.1.41  
changed lines
  Added in v.1.42

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26