2626 TYPE_CHECKING ,
2727)
2828
29+ from galaxy .util .yaml_util import ordered_dump
2930from galaxy .tool_util .deps import docker_util
3031from galaxy .tool_util .deps .container_volumes import DockerVolume
3132from galaxy .util .commands import argv_to_str
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
137135REFGENIE_CONFIG_TEMPLATE = """
138136config_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