@@ -27,55 +27,37 @@ def live_classes(self):
27
27
28
28
def store_old_live_classes (self ):
29
29
live_classes = {}
30
- print ("start storing old live classes............" )
31
30
for module in self .live_modules :
32
31
live_module_name_list = [mod for mod in sys .modules .keys () if mod .endswith (module )]
33
32
live_module_name = live_module_name_list [0 ]
34
33
live_classes [module ] = []
35
- print ("\n checking module: " , live_module_name )
36
- for mod in live_module_name_list :
37
34
35
+ for mod in live_module_name_list :
38
36
if hasattr (sys .modules [mod ],"live_environment" ):
39
- #print("updating module",mod)
40
37
sys .modules [mod ].live_environment .update ()
41
38
for old_obj in sys .modules [live_module_name ].__dict__ .values ():
42
- #print("checking {} for class definitions using value ".format(live_module_name,old_obj))
43
39
if inspect .isclass (old_obj ) and hasattr (old_obj ,"instances" ):
44
40
live_classes [module ].append (old_obj )
45
- print ("appended {} to the list with type {}" .format (old_obj , type (old_obj )))
46
41
self ._live_classes = live_classes
47
- print ( " \n live_classes : {} \n " . format ( self . _live_classes ))
42
+
48
43
return live_classes
49
44
50
45
def update (self ):
51
- print ("\n ***** START CODE RELOAD ******\n " )
52
46
self .store_old_live_classes ()
53
47
for live_module in self .live_classes : #the name of the module is used as a key for the dict that stores all
54
- print ("iterating through " ,live_module )
55
- # live classes
56
48
57
49
live_module_name_list = [mod for mod in sys .modules .keys () if mod .endswith (live_module )]
58
50
live_module_name = live_module_name_list [0 ]
59
- #print("code reload for module: ", live_module_name)
60
51
61
52
live_classes_ids = [id (cl ) for cl in self .live_classes [live_module ]]
62
- #print("code reload for module: ", live_module_name)
63
53
64
54
importlib .reload (sys .modules [live_module_name ])
65
55
live_classes_ids = [id (cl ) for cl in self .live_classes [live_module ]]
66
56
67
- #if live_module == "cyclops.morpheas":
68
- #pdb.set_trace()
69
57
for live_class in self .live_classes [live_module ]:
70
- print ("iterate class : {} with instances: {}" .format (live_class ,live_class .instances ))
71
58
new_live_class = eval ("sys.modules[live_module_name]." + live_class .__name__ )
72
59
73
60
for live_instance in live_class .instances :
74
- print ("iterate instance :" ,live_instance )
75
61
backup_instances = live_instance .__class__ .instances
76
62
live_instance .__class__ = new_live_class
77
- print ("reloading instance \n instance : {} id: {} \n old class: {} id: {} \n new class : {} id: {"
78
- "} \n "
79
- "" .format (live_instance ,id (live_instance ),live_class ,id (live_class ),new_live_class ,id (new_live_class )))
80
63
live_instance .__class__ .instances = backup_instances
81
- print ("\n **********END CODE RELOAD************\n " )
0 commit comments