示例#1
0
    def add_value(self):
        console_value_preview_size = DescribeConfig.current(
        ).console_value_preview_size

        value_str = (TextBanner.f_io(self.value) if self._param_kind() in [
            "input", "output"
        ] else self.definition.to_str(self.value))

        value_str = safe_string(value_str, console_value_preview_size)

        # add preview
        if isinstance(self.value, Target) and self.value.target_meta:
            preview_value = safe_string(
                self.value.target_meta.value_preview,
                console_value_preview_size,
            )
            # we should add minimal preview
            if len(preview_value) < 100:
                value_str += " :='%s'" % preview_value

        if value_str and "\n" in value_str:
            # some simple heuristics around value
            extra_padding = " " * len("\t".join(map(str, self.row)))
            value_str = "".join("\n%s%s" % (extra_padding, l)
                                for l in value_str.split("\n"))
            value_str = "-->\n" + value_str

        self.row.append(value_str)
示例#2
0
    def add_value(self):
        import dbnd  # noqa: 401 import dbnd before DataFrameValueType to avoid cyclic imports

        from dbnd._core.settings import DescribeConfig
        from targets.values import DataFrameValueType

        console_value_preview_size = (
            DescribeConfig.from_databand_context().console_value_preview_size)

        if self.value is None:
            value_str = "@None"
        else:
            # We want to always use self.definition.to_str for panda's Dataframe value.
            # otherwise, the value blows up the log, and is not readable.
            value_str = (TextBanner.f_io(self.value)
                         if self._param_kind() in ["input", "output"]
                         and not self.definition.value_type_str
                         == DataFrameValueType.type_str else
                         self.definition.to_str(self.value))

        value_str = safe_string(value_str, console_value_preview_size)

        # add preview
        if isinstance(self.value, Target) and self.value.target_meta:
            preview_value = safe_string(self.value.target_meta.value_preview,
                                        console_value_preview_size)
            # we should add minimal preview
            if len(preview_value) < 100:
                value_str += " :='%s'" % preview_value

        if value_str and "\n" in value_str:
            # some simple heuristics around value
            extra_padding = " " * len("\t".join(map(str, self.row)))
            value_str = "".join("\n%s%s" % (extra_padding, l)
                                for l in value_str.split("\n"))
            value_str = "-->\n" + value_str

        self.row.append(value_str)