Source code for ewoksorange.gui.owwidgets.summarizers
"""
Summarizers for Orange signal display integration.
"""
from ...orange_version import ORANGE_VERSION
if ORANGE_VERSION == ORANGE_VERSION.oasys_fork:
summarize = None
PartialSummary = None
else:
from orangewidget.utils.signals import PartialSummary
from orangewidget.utils.signals import summarize
from ewokscore.variable import Variable
if summarize is not None:
[docs]
@summarize.register(Variable)
def summarize_variable(var: Variable):
"""
Provide a short summary for Ewoks Variable instances for Orange UI.
:param var: The Variable to summarize.
:return: PartialSummary describing the variable.
"""
if var.is_missing():
dtype = var.value
else:
dtype = type(var.value).__name__
desc = f"ewoks variable ({dtype})"
return PartialSummary(desc, desc)
[docs]
@summarize.register(object)
def summarize_object(value: object):
"""
Provide a default summary for arbitrary objects.
:param value: The object to summarize.
:return: PartialSummary describing the object's type.
"""
return PartialSummary(str(type(value)), str(type(value)))