[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2230] trunk/py/scripts/addons/ netrender/master.py: netrender fix for master receiving files
Martin Poirier
theeth at yahoo.com
Sun Aug 7 17:26:25 CEST 2011
Revision: 2230
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2230
Author: theeth
Date: 2011-08-07 15:26:25 +0000 (Sun, 07 Aug 2011)
Log Message:
-----------
netrender fix for master receiving files
Based on patch [#28108] by Wintch Analyzer
Modified Paths:
--------------
trunk/py/scripts/addons/netrender/master.py
Modified: trunk/py/scripts/addons/netrender/master.py
===================================================================
--- trunk/py/scripts/addons/netrender/master.py 2011-08-07 13:30:42 UTC (rev 2229)
+++ trunk/py/scripts/addons/netrender/master.py 2011-08-07 15:26:25 UTC (rev 2230)
@@ -201,6 +201,14 @@
edit_pattern = re.compile("/edit_([a-zA-Z0-9]+)")
class RenderHandler(http.server.BaseHTTPRequestHandler):
+ def write_file(self, file_path, mode = 'wb'):
+ length = int(self.headers['content-length'])
+ f = open(file_path, mode)
+ buf = self.rfile.read(length)
+ f.write(buf)
+ f.close()
+ del buf
+
def log_message(self, format, *args):
# override because the original calls self.address_string(), which
# is extremely slow due to some timeout..
@@ -697,6 +705,7 @@
if match:
self.server.stats("", "Receiving job")
+ length = int(self.headers['content-length'])
job_id = match.groups()[0]
file_index = int(match.groups()[1])
@@ -718,10 +727,8 @@
# add same temp file + renames as slave
- f = open(file_path, "wb")
- shutil.copyfileobj(self.rfile, f)
- f.close()
-
+ self.write_file(file_path)
+
render_file.filepath = file_path # set the new path
if job.testStart():
@@ -764,9 +771,7 @@
if job.hasRenderResult():
if job_result == DONE:
- f = open(os.path.join(job.save_path, "%06d.exr" % job_frame), 'wb')
- shutil.copyfileobj(self.rfile, f)
- f.close()
+ self.write_file(os.path.join(job.save_path, "%06d.exr" % job_frame))
elif job_result == ERROR:
# blacklist slave on this job on error
@@ -809,9 +814,7 @@
self.send_head(content = None)
if job.hasRenderResult():
- f = open(os.path.join(job.save_path, "%06d.jpg" % job_frame), 'wb')
- shutil.copyfileobj(self.rfile, f)
- f.close()
+ os.path.join(os.path.join(job.save_path, "%06d.jpg" % job_frame))
else: # frame not found
self.send_head(http.client.NO_CONTENT)
@@ -838,9 +841,7 @@
if frame and frame.log_path:
self.send_head(content = None)
- f = open(frame.log_path, 'ab')
- shutil.copyfileobj(self.rfile, f)
- f.close()
+ self.write_file(frame.log_path, 'ab')
self.server.getSeenSlave(self.headers['slave-id'])
More information about the Bf-extensions-cvs
mailing list