Fix: use env for temp directory, it better handles utf-8 directory
This commit is contained in:
committed by
Laurent Clouet
parent
fa82be607c
commit
7d984f94a5
@@ -220,6 +220,8 @@ import lombok.Getter;
|
|||||||
Map<String, String> new_env = new HashMap<String, String>();
|
Map<String, String> new_env = new HashMap<String, String>();
|
||||||
|
|
||||||
new_env.put("BLENDER_USER_CONFIG", configuration.getWorkingDirectory().getAbsolutePath().replace("\\", "\\\\"));
|
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("CORES", Integer.toString(configuration.getNbCores()));
|
||||||
new_env.put("PRIORITY", Integer.toString(configuration.getPriority()));
|
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"
|
new_env.put("PYTHONPATH", ""); // make sure blender is using the embedded python, if not it could create "Fatal Python error: Py_Initialize"
|
||||||
|
|||||||
@@ -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");
|
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().getFrame(), jobData.getRenderTask().getPath().replace("/", File.separator),
|
||||||
jobData.getRenderTask().getUseGpu() == 1, jobData.getRenderTask().getRendererInfos().getCommandline(), validationUrl, script,
|
jobData.getRenderTask().getUseGpu() == 1, jobData.getRenderTask().getRendererInfos().getCommandline(), validationUrl,
|
||||||
jobData.getRenderTask().getArchive_md5(), jobData.getRenderTask().getRendererInfos().getMd5(), jobData.getRenderTask().getName(),
|
jobData.getRenderTask().getScript(), jobData.getRenderTask().getArchive_md5(), jobData.getRenderTask().getRendererInfos().getMd5(),
|
||||||
jobData.getRenderTask().getPassword(), jobData.getRenderTask().getExtras(), jobData.getRenderTask().getSynchronous_upload().equals("1"),
|
jobData.getRenderTask().getName(), jobData.getRenderTask().getPassword(), jobData.getRenderTask().getExtras(),
|
||||||
jobData.getRenderTask().getRendererInfos().getUpdate_method());
|
jobData.getRenderTask().getSynchronous_upload().equals("1"), jobData.getRenderTask().getRendererInfos().getUpdate_method());
|
||||||
|
|
||||||
return a_job;
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
System.out.println("Server::requestJob url " + url_contents + " r " + r + " contentType " + contentType);
|
System.out.println("Server::requestJob url " + url_contents + " r " + r + " contentType " + contentType);
|
||||||
|
|||||||
Reference in New Issue
Block a user