@@ -129,24 +129,52 @@ class SummaryCounters:
129
129
#:
130
130
system_updates = 0
131
131
132
+ _contains_updates = None
133
+ _contains_system_updates = None
134
+
132
135
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
+ }
133
152
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 )
136
156
137
157
def __repr__ (self ):
138
158
return repr (vars (self ))
139
159
140
160
@property
141
161
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
+ )
148
174
149
175
@property
150
176
def contains_system_updates (self ):
151
177
"""True if the system database was updated, otherwise False."""
178
+ if self ._contains_system_updates is not None :
179
+ return self ._contains_system_updates
152
180
return self .system_updates > 0
0 commit comments