def handle_dataset_collection_display(self, line, hdca): hdca_serializer = HDCASerializer(self.trans.app) hdca_view = hdca_serializer.serialize_to_view(hdca, user=self.trans.user, trans=self.trans, view="summary") self.ensure_rendering_data_for("history_dataset_collections", hdca).update(hdca_view)
def _remap(container, line): id_match = re.search(ID_PATTERN, line) object_id = None encoded_id = None if id_match: object_id = int(id_match.group(2)) encoded_id = trans.security.encode_id(object_id) line = line.replace(id_match.group(), "%s=%s" % (id_match.group(1), encoded_id)) def ensure_rendering_data_for(object_type, encoded_id): if object_type not in extra_rendering_data: extra_rendering_data[object_type] = {} object_type_data = extra_rendering_data[object_type] if encoded_id not in object_type_data: object_type_data[encoded_id] = {} return object_type_data[encoded_id] def extend_history_dataset_rendering_data(key, val, default_val): ensure_rendering_data_for("history_datasets", encoded_id)[key] = val or default_val if container == "history_dataset_display": assert object_id is not None hda = hdas_manager.get_accessible(object_id, trans.user) if "history_datasets" not in extra_rendering_data: extra_rendering_data["history_datasets"] = {} extend_history_dataset_rendering_data("name", hda.name, "") elif container == "history_dataset_peek": assert object_id is not None hda = hdas_manager.get_accessible(object_id, trans.user) peek = hda.peek extend_history_dataset_rendering_data( "peek", peek, "*No Dataset Peek Available*") elif container == "history_dataset_info": hda = hdas_manager.get_accessible(object_id, trans.user) info = hda.info extend_history_dataset_rendering_data( "info", info, "*No Dataset Peek Available*") elif container == "workflow_display": # TODO: should be workflow id... stored_workflow = workflows_manager.get_stored_accessible_workflow( trans, encoded_id) ensure_rendering_data_for( "workflows", encoded_id)["name"] = stored_workflow.name elif container == "history_dataset_collection_display": collection_manager = DatasetCollectionManager(trans.app) hdca = collection_manager.get_dataset_collection_instance( trans, "history", encoded_id) hdca_serializer = HDCASerializer(trans.app) hdca_view = hdca_serializer.serialize_to_view(hdca, user=trans.user, trans=trans, view="summary") if "history_dataset_collections" not in extra_rendering_data: extra_rendering_data["history_dataset_collections"] = {} ensure_rendering_data_for("history_dataset_collections", encoded_id).update(hdca_view) elif container == "tool_stdout": job_manager = JobManager(trans.app) job = job_manager.get_accessible_job(trans, object_id) ensure_rendering_data_for( "jobs", encoded_id )["tool_stdout"] = job.tool_stdout or "*No Standard Output Available*" elif container == "tool_stderr": job_manager = JobManager(trans.app) job = job_manager.get_accessible_job(trans, object_id) ensure_rendering_data_for( "jobs", encoded_id )["tool_stderr"] = job.tool_stderr or "*No Standard Error Available*" return (line, False)