Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions src/bokeh/document/document.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,15 @@
from __future__ import annotations

import logging # isort:skip
from bokeh.themes import Theme, default as default_theme
from bokeh.core.query import SelectorType, find, is_single_string_selector
from bokeh.core.templates import FILE
from bokeh.document.callbacks import DocumentCallbackManager
from bokeh.document.config import DocumentConfig
from bokeh.document.models import DocumentModelManager
from bokeh.document.modules import DocumentModuleManager
from bokeh.model import Model

log = logging.getLogger(__name__)

#-----------------------------------------------------------------------------
Expand Down Expand Up @@ -716,6 +725,14 @@ def select_one(self, selector: SelectorType) -> Model | None:
Model or None

'''
if is_single_string_selector(selector, 'name'):
result = self.models.get_all_by_name(selector['name'])
if len(result) > 1:
raise ValueError(f"Found more than one model matching {selector}: {result!r}")
if len(result) == 0:
return None
return result[0]

result = list(self.select(selector))
if len(result) > 1:
raise ValueError(f"Found more than one model matching {selector}: {result!r}")
Expand Down