Commit fa106099 authored by Cage, Gregory's avatar Cage, Gregory
Browse files

Merge interactive url changes into updated branch

parent 62ba0ff4
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -1243,15 +1243,11 @@ class MinimalJobWrapper(HasResourceParameters):
            self.__prepare_upload_paramfile(job)

        tool_evaluator = self._get_tool_evaluator(job)
        # if hasattr(self.app, "interactivetool_manager"):
        #     self.interactivetools = tool_evaluator.populate_interactivetools()
        #     self.app.interactivetool_manager.create_interactivetool(job, self.tool, self.interactivetools)
        #     job.interactive_url = self.app.interactivetool_manager.get_job_subdomain(job)

        compute_environment = compute_environment or self.default_compute_environment(job)
        if hasattr(self.app, "interactivetool_manager"):
            self.interactivetools = tool_evaluator.populate_interactivetools()
            self.app.interactivetool_manager.create_interactivetool(job, self.tool, self.interactivetools)
            job.interactive_url = self.app.interactivetool_manager.get_job_subdomain(job)
        compute_environment = compute_environment or self.default_compute_environment(job)
        tool_evaluator.set_compute_environment(compute_environment, get_special=get_special)
        (
            self.command_line,
+9 −0
Original line number Diff line number Diff line
@@ -193,6 +193,15 @@ class InteractiveToolManager:
            with transaction(self.sa_session):
                self.sa_session.commit()

    def get_job_subdomain(self, job):
        # returns the url for the first entry point
        for entry_point in job.interactivetool_entry_points:
            entry_point_encoded_id = self.app.security.encode_id(entry_point.id)
            entry_point_class = entry_point.__class__.__name__.lower()
            entry_point_prefix = self.app.config.interactivetools_prefix
            entry_point_token = entry_point.token
            return f"{entry_point_encoded_id}-{entry_point_token}.{entry_point_class}.{entry_point_prefix}"

    def configure_entry_point(self, job, tool_port=None, host=None, port=None, protocol=None):
        return self.configure_entry_points(
            job, {tool_port: dict(tool_port=tool_port, host=host, port=port, protocol=protocol)}
+2 −2
Original line number Diff line number Diff line
@@ -196,8 +196,8 @@ class ToolEvaluator:
        if self._history:
            param_dict["__history_id__"] = self.app.security.encode_id(self._history.id)
        param_dict["__galaxy_url__"] = self.compute_environment.galaxy_url()
        # if hasattr(self.job, "interactive_url") and isinstance(self.job.interactive_url, str):
        #     param_dict["__tool_url_prefix__"] = ''.join([self.job.interactive_url, ".", urlparse(self.compute_environment.galaxy_url()).hostname])
        if hasattr(self.job, "interactive_url") and isinstance(self.job.interactive_url, str):
            param_dict["__tool_url_prefix__"] = ''.join([self.job.interactive_url, ".", urlparse(self.compute_environment.galaxy_url()).hostname])

        param_dict.update(self.tool.template_macro_params)
        # All parameters go into the param_dict