Skip to content

Commit 54ba981

Browse files
use yml job config
1 parent 0bf7c24 commit 54ba981

File tree

1 file changed

+35
-44
lines changed

1 file changed

+35
-44
lines changed

planemo/galaxy/config.py

Lines changed: 35 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
TYPE_CHECKING,
2727
)
2828

29+
from galaxy.util.yaml_util import ordered_dump
2930
from galaxy.tool_util.deps import docker_util
3031
from galaxy.tool_util.deps.container_volumes import DockerVolume
3132
from galaxy.util.commands import argv_to_str
@@ -108,31 +109,28 @@
108109
</tool_sheds>
109110
"""
110111

111-
JOB_CONFIG_LOCAL = """<job_conf>
112-
<plugins>
113-
<plugin id="planemo_runner" type="runner" load="galaxy.jobs.runners.local:LocalJobRunner" workers="4"/>
114-
</plugins>
115-
<handlers>
116-
</handlers>
117-
<destinations default="planemo_dest">
118-
<destination id="planemo_dest" runner="planemo_runner">
119-
<param id="require_container">${require_container}</param>
120-
<param id="docker_enabled">${docker_enable}</param>
121-
<param id="docker_sudo">${docker_sudo}</param>
122-
<param id="docker_sudo_cmd">${docker_sudo_cmd}</param>
123-
<param id="docker_cmd">${docker_cmd}</param>
124-
<param id="docker_volumes">${docker_volumes}</param>
125-
${docker_host_param}
126-
</destination>
127-
<destination id="upload_dest" runner="planemo_runner">
128-
<param id="docker_enabled">false</param>
129-
</destination>
130-
</destinations>
131-
<tools>
132-
<tool id="upload1" destination="upload_dest" />
133-
</tools>
134-
</job_conf>
135-
"""
112+
JOB_CONFIG_LOCAL: Dict[str, Any] = {
113+
"runners": {"planemo_runner": {"load": "galaxy.jobs.runners.local:LocalJobRunner", "workers": 4}},
114+
"execution": {
115+
"default": "planemo_dest",
116+
"environments": {
117+
"planemo_dest": {
118+
"runner": "planemo_runner",
119+
"require_container": False,
120+
"docker_enabled": False,
121+
"docker_sudo": False,
122+
"docker_sudo_cmd": docker_util.DEFAULT_SUDO_COMMAND,
123+
"docker_cmd": docker_util.DEFAULT_DOCKER_COMMAND,
124+
"docker_volumes": "$defaults",
125+
},
126+
"upload_dest": {"runner": "planemo_runner", "docker_enabled": False},
127+
},
128+
},
129+
"tools": [
130+
{"id": "upload1", "environment": "upload_dest"},
131+
],
132+
}
133+
136134

137135
REFGENIE_CONFIG_TEMPLATE = """
138136
config_version: %s
@@ -1319,16 +1317,19 @@ def _handle_job_config_file(
13191317
):
13201318
job_config_file = kwds.get("job_config_file", None)
13211319
if not job_config_file:
1322-
template_str = JOB_CONFIG_LOCAL
13231320
job_config_file = os.path.join(
13241321
config_directory,
1325-
"job_conf.xml",
1322+
"job_conf.yml",
13261323
)
1327-
docker_enable = str(kwds.get("docker", False))
1324+
planemo_dest = JOB_CONFIG_LOCAL["execution"]["environments"]["planemo_dest"]
1325+
planemo_dest["docker_enabled"] = kwds.get("docker", False)
1326+
planemo_dest["docker_sudo"] = kwds.get("docker_sudo", False)
1327+
planemo_dest["docker_sudo_cmd"] = kwds.get("docker_sudo_cmd", docker_util.DEFAULT_SUDO_COMMAND)
1328+
planemo_dest["docker_cmd"] = kwds.get("docker_cmd", docker_util.DEFAULT_DOCKER_COMMAND)
1329+
13281330
docker_host = kwds.get("docker_host", docker_util.DEFAULT_HOST)
1329-
docker_host_param = ""
13301331
if docker_host:
1331-
docker_host_param = f"""<param id="docker_host">{docker_host}</param>"""
1332+
planemo_dest["docker_host"] = docker_host
13321333

13331334
volumes = list(kwds.get("docker_extra_volume") or [])
13341335
if test_data_dir:
@@ -1340,20 +1341,10 @@ def _handle_job_config_file(
13401341
all_tool_dirs = {os.path.dirname(tool_path) for tool_path in all_tool_paths}
13411342
extra_volumes_str = ",".join(str(v) for v in create_docker_volumes(volumes) if v.path not in all_tool_dirs)
13421343
docker_volumes_str = f"{docker_volumes_str},{extra_volumes_str}"
1343-
1344-
conf_contents = Template(template_str).safe_substitute(
1345-
{
1346-
"server_name": server_name,
1347-
"docker_enable": docker_enable,
1348-
"require_container": "false",
1349-
"docker_sudo": str(kwds.get("docker_sudo", False)),
1350-
"docker_sudo_cmd": str(kwds.get("docker_sudo_cmd", docker_util.DEFAULT_SUDO_COMMAND)),
1351-
"docker_cmd": str(kwds.get("docker_cmd", docker_util.DEFAULT_DOCKER_COMMAND)),
1352-
"docker_host_param": docker_host_param,
1353-
"docker_volumes": docker_volumes_str,
1354-
}
1355-
)
1356-
write_file(job_config_file, conf_contents)
1344+
planemo_dest["docker_volumes"] = docker_volumes_str
1345+
JOB_CONFIG_LOCAL["execution"]["environments"]["planemo_dest"] = planemo_dest
1346+
with open(job_config_file, "w") as job_config_fh:
1347+
ordered_dump(JOB_CONFIG_LOCAL, job_config_fh)
13571348
kwds["job_config_file"] = job_config_file
13581349

13591350

0 commit comments

Comments
 (0)