@@ -2311,8 +2311,14 @@ def _name_added(self, name: str) -> None:
2311
2311
"""
2312
2312
pass
2313
2313
2314
- def add_name (self , name : str ) -> None :
2315
- if self .is_name_conflicting (name ):
2314
+ def add_name (self , name : str , * , conflicting_ok : bool = False ) -> None :
2315
+ """
2316
+ :arg conflicting_ok: A flag to dictate the behavior when *name* is
2317
+ conflicting with the set of existing names. If *True*, a conflict
2318
+ is silently passed. If *False*, a :class:`ValueError` is raised on
2319
+ encountering a conflict.
2320
+ """
2321
+ if (not conflicting_ok ) and self .is_name_conflicting (name ):
2316
2322
raise ValueError (f"name '{ name } ' conflicts with existing names" )
2317
2323
2318
2324
if not name .startswith (self .forced_prefix ):
@@ -2323,9 +2329,14 @@ def add_name(self, name: str) -> None:
2323
2329
self .existing_names .add (name )
2324
2330
self ._name_added (name )
2325
2331
2326
- def add_names (self , names : Iterable [str ]) -> None :
2332
+ def add_names (self , names : Iterable [str ],
2333
+ * ,
2334
+ conflicting_ok : bool = False ) -> None :
2335
+ """
2336
+ :arg conflicting_ok: Plainly passed to :meth:`UniqueNameGenerator.add_name`.
2337
+ """
2327
2338
for name in names :
2328
- self .add_name (name )
2339
+ self .add_name (name , conflicting_ok = conflicting_ok )
2329
2340
2330
2341
def __call__ (self , based_on : str = "id" ) -> str :
2331
2342
based_on = self .forced_prefix + based_on
0 commit comments