@@ -129,24 +129,52 @@ class SummaryCounters:
129129 #:
130130 system_updates = 0
131131
132+ _contains_updates = None
133+ _contains_system_updates = None
134+
132135 def __init__ (self , statistics ):
136+ key_to_attr_name = {
137+ "nodes-created" : "nodes_created" ,
138+ "nodes-deleted" : "nodes_deleted" ,
139+ "relationships-created" : "relationships_created" ,
140+ "relationships-deleted" : "relationships_deleted" ,
141+ "properties-set" : "properties_set" ,
142+ "labels-added" : "labels_added" ,
143+ "labels-removed" : "labels_removed" ,
144+ "indexes-added" : "indexes_added" ,
145+ "indexes-removed" : "indexes_removed" ,
146+ "constraints-added" : "constraints_added" ,
147+ "constraints-removed" : "constraints_removed" ,
148+ "system-updates" : "system_updates" ,
149+ "contains-updates" : "_contains_updates" ,
150+ "contains-system-updates" : "_contains_system_updates" ,
151+ }
133152 for key , value in dict (statistics ).items ():
134- key = key .replace ("-" , "_" )
135- setattr (self , key , value )
153+ attr_name = key_to_attr_name .get (key )
154+ if attr_name :
155+ setattr (self , attr_name , value )
136156
137157 def __repr__ (self ):
138158 return repr (vars (self ))
139159
140160 @property
141161 def contains_updates (self ):
142- """True if any of the counters except for system_updates, are greater than 0. Otherwise False."""
143- return bool (self .nodes_created or self .nodes_deleted or
144- self .relationships_created or self .relationships_deleted or
145- self .properties_set or self .labels_added or self .labels_removed or
146- self .indexes_added or self .indexes_removed or
147- self .constraints_added or self .constraints_removed )
162+ """True if any of the counters except for system_updates, are greater
163+ than 0. Otherwise False."""
164+ if self ._contains_updates is not None :
165+ return self ._contains_updates
166+ return bool (
167+ self .nodes_created or self .nodes_deleted
168+ or self .relationships_created or self .relationships_deleted
169+ or self .properties_set or self .labels_added
170+ or self .labels_removed or self .indexes_added
171+ or self .indexes_removed or self .constraints_added
172+ or self .constraints_removed
173+ )
148174
149175 @property
150176 def contains_system_updates (self ):
151177 """True if the system database was updated, otherwise False."""
178+ if self ._contains_system_updates is not None :
179+ return self ._contains_system_updates
152180 return self .system_updates > 0
0 commit comments