def clone_into_event(source_event, target_event, cloners): """Clone data into an existing event. Runs all required cloners. :param source_event: The `Event` to clone data from; :param target_event: The `Event` to clone data into; :param cloners: A set containing the names of all enabled cloners. """ # Run the modular cloning system g.importing_event = True EventCloner.run_cloners(source_event, target_event, cloners, event_exists=True) del g.importing_event signals.event.imported.send(target_event, source_event=source_event) cloner_classes = {c.name: c for c in get_event_cloners().values()} target_event.log(EventLogRealm.event, LogKind.change, 'Event', 'Data imported', session.user, data={ 'Modules': ', '.join( orig_string(cloner_classes[c].friendly_name) for c in cloners if not cloner_classes[c].is_internal) }) return target_event
def _check_cloners(app, **kwargs): # This will raise RuntimeError if the cloner names are not unique get_event_cloners()
def _check_cloners(app, **kwargs): # This will raise RuntimeError if the cloner names are not unique get_event_cloners()