i guess `get_source_id` is throwing this error if `source_or_dataset` refers to a `dataset`... it's a bit confusing, and often discouraged, to use exceptions for control flow like this: i think it would be clearer if `get_source_id` just returned `None` if the id is not that of a source...