def flush(ctx, source, flush_all): """ Clear all statements about a source from the statement DB. """ try: if source is None and not flush_all: msg = "Either specify a --source or pass --all" raise click.ClickException(msg) config = ctx.obj['CONFIG'] source_obj = Source.by_slug(source) source_id = None if source_obj is not None: source_id = source_obj.id elif source_obj is None and source is not None: raise click.ClickException("No such source: %r" % source) config.types.delete(source_id=source_id) config.properties.delete(source_id=source_id) except LoomException as le: raise click.ClickException(le.message)