File tree Expand file tree Collapse file tree 1 file changed +11
-9
lines changed Expand file tree Collapse file tree 1 file changed +11
-9
lines changed Original file line number Diff line number Diff line change @@ -194,19 +194,21 @@ def __iter__(self):
194194 """Overloads iter to iterate over elements in groups."""
195195 return self .groups .items ().__iter__ ()
196196
197- def add (self , ** groups ):
198- """Adds a new groups to the datastore."""
199- for k , v in groups .items ():
200- if k in self .groups .keys ():
201- raise ValueError (
202- "Key already exist in the datastore, use `update` instead if intending to overwrite past data."
203- )
204- self .groups [k ] = v
205-
206197 def update (self , ** groups ):
207198 """Updates groups in the datastore, overwriting past values."""
208199 for k , v in groups .items ():
209200 self .groups [k ] = v
210201
202+ def add (self , ** groups ):
203+ """Adds a new groups to the datastore."""
204+
205+ existing_keys = set (groups .keys ()).intersection (set (self .groups .keys ()))
206+ if existing_keys :
207+ raise ValueError (
208+ f"Keys { existing_keys } already exist in the datastore, use `update` instead if intending to overwrite past data."
209+ )
210+
211+ self .update (** groups )
212+
211213
212214# %%
You can’t perform that action at this time.
0 commit comments