def view_info(self, obj, source_name="node_script"):
        """Retrieve and present obj's source/info."""

        if type(obj) == CallableNode:

            if source_name == "node_script":

                ## retrieve the source of the script from
                ## which the node's callable was retrieved

                text = (

                    # from the APP_REFS obj...
                    APP_REFS

                    # retrieve a map containing pathlib.Path
                    # objects pointing to node scripts
                    .script_path_map

                    # use the script id of the node to
                    # retrieve the pathlib.Path instance
                    # which points to the node's script
                    [obj.data["script_id"]]

                    # and grab its contents
                    .read_text()

                )

                show_line_number = True

            elif source_name == "callable_info":

                ## retrieve information about the node's
                ## main callable

                text, managed_to_get_source = retrieve_callable_info(obj.main_callable)

                show_line_number = managed_to_get_source

        else:

            show_line_number = False
            text = obj.get_source_info()

        ### then display the text

        view_text(
            text,
            syntax_highlighting="python",
            show_line_number=show_line_number,
        )
Retrieve and present obj's source/info.
nodezator/editing/data.py