From 7d984f94a55bf4efdaed06036d8b40c68546261c Mon Sep 17 00:00:00 2001 From: Raimund58 Date: Sun, 13 Dec 2020 10:29:38 +0100 Subject: [PATCH] Fix: use env for temp directory, it better handles utf-8 directory --- src/com/sheepit/client/Job.java | 2 ++ src/com/sheepit/client/Server.java | 29 +++++------------------------ 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/src/com/sheepit/client/Job.java b/src/com/sheepit/client/Job.java index f426be2..4b2c632 100644 --- a/src/com/sheepit/client/Job.java +++ b/src/com/sheepit/client/Job.java @@ -220,6 +220,8 @@ import lombok.Getter; Map new_env = new HashMap(); new_env.put("BLENDER_USER_CONFIG", configuration.getWorkingDirectory().getAbsolutePath().replace("\\", "\\\\")); + new_env.put("TEMP", configuration.getWorkingDirectory().getAbsolutePath().replace("\\", "\\\\")); + new_env.put("TMP", configuration.getWorkingDirectory().getAbsolutePath().replace("\\", "\\\\")); new_env.put("CORES", Integer.toString(configuration.getNbCores())); new_env.put("PRIORITY", Integer.toString(configuration.getPriority())); new_env.put("PYTHONPATH", ""); // make sure blender is using the embedded python, if not it could create "Fatal Python error: Py_Initialize" diff --git a/src/com/sheepit/client/Server.java b/src/com/sheepit/client/Server.java index 50313ad..f376935 100644 --- a/src/com/sheepit/client/Server.java +++ b/src/com/sheepit/client/Server.java @@ -325,33 +325,14 @@ public class Server extends Thread { } } - String script = "import bpy\n"; - // blender 2.7x - script += "try:\n"; - script += "\tbpy.context.user_preferences.filepaths.temporary_directory = \"" + this.user_config.getWorkingDirectory().getAbsolutePath() - .replace("\\", "\\\\") + "\"\n"; - script += "except AttributeError:\n"; - script += "\tpass\n"; - - // blender 2.80 - script += "try:\n"; - script += "\tbpy.context.preferences.filepaths.temporary_directory = \"" + this.user_config.getWorkingDirectory().getAbsolutePath() - .replace("\\", "\\\\") + "\"\n"; - script += "except AttributeError:\n"; - script += "\tpass\n"; - - script += jobData.getRenderTask().getScript(); - String validationUrl = URLDecoder.decode(jobData.getRenderTask().getValidationUrl(), "UTF-8"); - Job a_job = new Job(this.user_config, this.client.getGui(), this.client.getLog(), jobData.getRenderTask().getId(), + return new Job(this.user_config, this.client.getGui(), this.client.getLog(), jobData.getRenderTask().getId(), jobData.getRenderTask().getFrame(), jobData.getRenderTask().getPath().replace("/", File.separator), - jobData.getRenderTask().getUseGpu() == 1, jobData.getRenderTask().getRendererInfos().getCommandline(), validationUrl, script, - jobData.getRenderTask().getArchive_md5(), jobData.getRenderTask().getRendererInfos().getMd5(), jobData.getRenderTask().getName(), - jobData.getRenderTask().getPassword(), jobData.getRenderTask().getExtras(), jobData.getRenderTask().getSynchronous_upload().equals("1"), - jobData.getRenderTask().getRendererInfos().getUpdate_method()); - - return a_job; + jobData.getRenderTask().getUseGpu() == 1, jobData.getRenderTask().getRendererInfos().getCommandline(), validationUrl, + jobData.getRenderTask().getScript(), jobData.getRenderTask().getArchive_md5(), jobData.getRenderTask().getRendererInfos().getMd5(), + jobData.getRenderTask().getName(), jobData.getRenderTask().getPassword(), jobData.getRenderTask().getExtras(), + jobData.getRenderTask().getSynchronous_upload().equals("1"), jobData.getRenderTask().getRendererInfos().getUpdate_method()); } else { System.out.println("Server::requestJob url " + url_contents + " r " + r + " contentType " + contentType);