[Durian-svn] [5423] misc updates for the farm scripts (changes from brecht too)

campbell institute at blender.org
Mon Jun 21 15:59:50 CEST 2010


Revision: 5423
          https://blenderinstitute.dyndns.org/durian-svn/?do=log&project=durian&path=/&rev=5423
Author:   campbell
Date:     2010-06-21 15:59:50 +0200 (Mon, 21 Jun 2010)
Log Message:
-----------
misc updates for the farm scripts (changes from brecht too)

Modified Paths:
--------------
    frm/blender_exr_to_avi.py
    frm/master_ui.css
    frm/master_ui.py
    frm/new_blender_setup.py
    frm/new_master.py
    frm/new_node_update_movie.sh
    frm/slideshow/blender_exr_to_png.py

Modified: frm/blender_exr_to_avi.py
===================================================================
--- frm/blender_exr_to_avi.py	2010-06-21 13:41:12 UTC (rev 5422)
+++ frm/blender_exr_to_avi.py	2010-06-21 13:59:50 UTC (rev 5423)
@@ -21,7 +21,7 @@
     f_dir, f_fname = os.path.split(f_name)
     files += [{"name": f_fname}]
 
-bpy.ops.sequencer.image_strip_add(path=image_dir, filename="test.blend", directory=image_dir, filter_blender=False, filter_image=True, filter_movie=False, name="", frame_start=1, channel=1, replace_sel=True, files=files)
+bpy.ops.sequencer.image_strip_add(filepath=image_dir, filename="test.blend", directory=image_dir, filter_blender=False, filter_image=True, filter_movie=False, name="", frame_start=1, channel=1, replace_sel=True, files=files)
 
 # render
 bpy.context.scene.frame_start = 1

Modified: frm/master_ui.css
===================================================================
--- frm/master_ui.css	2010-06-21 13:41:12 UTC (rev 5422)
+++ frm/master_ui.css	2010-06-21 13:59:50 UTC (rev 5423)
@@ -89,6 +89,10 @@
        background-color: #000;
 }
 
+input:disabled {
+	color: #222;
+}
+
 #clearall {
        clear:both;
 }

Modified: frm/master_ui.py
===================================================================
--- frm/master_ui.py	2010-06-21 13:41:12 UTC (rev 5422)
+++ frm/master_ui.py	2010-06-21 13:59:50 UTC (rev 5423)
@@ -130,7 +130,7 @@
 
     job = Job(id, revision, quality)
     JOBS.append(job)
-    JOBS.sort(key=lambda job: job.revision)
+    # JOBS.sort(key=lambda job: job.revision)
     Job.dump()
 
     if MOVE_OLD_FRAMES:
@@ -243,7 +243,11 @@
         # add a job
         elif self.path == '/job_add':
             d = urllib.parse.parse_qs(command)
-            job_add(d['id'][0], d['revision'][0], d['quality'][0])
+            if 'revision' in d:
+                rev = d['revision'][0]
+            else:
+                rev = 'HEAD'
+            job_add(d['id'][0], rev, d['quality'][0])
     
         self.send_response(http.client.SEE_OTHER)
         self.send_header("Location", "/")
@@ -310,6 +314,8 @@
             try:
                 if maxlines:
                     f = open(path, 'r')
+                    #f.seek(0, os.SEEK_END)
+                    #f.seek(-min(f.tell(), 8096), os.SEEK_END)
                     lines = f.readlines()[-maxlines:]
                     for line in lines:
                         self.wfile.write(bytes(line, encoding='utf8'))
@@ -345,7 +351,7 @@
 
             # html begin
             output("<html><head>\n")
-            output("<meta http-equiv='refresh' content=20>\n")
+            output("<meta http-equiv='refresh' content=30>\n")
             output("<title>Durian Farm! </title>\n")
             output("<link rel='stylesheet' href='master_ui.css' type='text/css'>\n")
             output("<script src='master_ui.js' type='text/javascript'></script>")
@@ -363,7 +369,7 @@
                 checkbox('job_set_enabled', job.id, job.enabled)
                 output("</td>\n")
                 output("<td>" + job.id + "</td>\n")
-                output("<td>HEAD</td>\n") #" + job.revision + "</td>\n")
+                output("<td>" + job.revision + "</td>\n")
                 output("<td>" + job.quality + "</td>\n")
                 if job.status=='Disabled':
                         output("<td id='status-disabled'>" + job.status + "</td>\n")
@@ -391,6 +397,7 @@
 
             output("<form method='post' action='/job_add'>\n")
             output("<input name='id' value='' size='50'/>\n")
+            output("<input name='latest' type='checkbox' onchange='this.form.revision.disabled = this.checked;'>Latest</input>\n")
             output("<input name='revision' value='%s' size='10'/>\n" % (revision,))
             output("<select name='quality'>\n")
             for option in Job.quality_types:

Modified: frm/new_blender_setup.py
===================================================================
--- frm/new_blender_setup.py	2010-06-21 13:41:12 UTC (rev 5422)
+++ frm/new_blender_setup.py	2010-06-21 13:59:50 UTC (rev 5423)
@@ -42,7 +42,7 @@
 def get_revision():
     '''returns the revision of this blendfile'''
     import subprocess
-    lines = subprocess.Popen(["svn", "info", bpy.data.filename], stdout=subprocess.PIPE).communicate()[0].splitlines()
+    lines = subprocess.Popen(["svn", "info", bpy.data.filepath], stdout=subprocess.PIPE).communicate()[0].splitlines()
     rev = b""
     for l in lines:
         if l.startswith(b'Revision: '):
@@ -57,7 +57,7 @@
 def main():
 
     ip = get_ip()
-    fpath = bpy.data.filename
+    fpath = bpy.data.filepath
     fname = os.path.splitext(os.path.basename(fpath))[0]
     scene_current = bpy.context.scene
     tmpdir = "/tmp/durian_farm"
@@ -103,6 +103,7 @@
         rd.use_local_coords = False
         if rd.parts_x < 32: rd.parts_x = 32
         if rd.parts_y < 16: rd.parts_y = 16
+        rd.raytrace_structure = 'AUTO'
 
         # resolution
         rd.resolution_percentage = 100
@@ -170,4 +171,4 @@
 
 
 if __name__ == "__main__":
-    main()
\ No newline at end of file
+    main()

Modified: frm/new_master.py
===================================================================
--- frm/new_master.py	2010-06-21 13:41:12 UTC (rev 5422)
+++ frm/new_master.py	2010-06-21 13:59:50 UTC (rev 5423)
@@ -141,10 +141,12 @@
             sorted_jobs.append(job)
         
     sorted_jobs.sort(key=lambda job: job.sortkey())
+    skipped_final = False
 
     # get unfinished frame from sorted jobs
     for job in sorted_jobs:
         if job.priority == 'Final' and not do_finals:
+            skipped_final = True
             continue
 
         # list images for this job
@@ -165,6 +167,9 @@
 
                 if not already_busy:
                     return job, frame
+
+    if skipped_final:
+        return job_find(slaves_state, True)
     
     # nothing to do
     return None, 0
@@ -341,7 +346,7 @@
 
             # find a new job
             if slave.enabled and slave_func_nr == 0:
-                do_finals = i/float(len(slaves)) > 0.5
+                do_finals = slave.ip.startswith("192.168.1.2")
                 slave_job, slave_frame = job_find(slaves_state, do_finals)
 
             if slave_job:

Modified: frm/new_node_update_movie.sh
===================================================================
--- frm/new_node_update_movie.sh	2010-06-21 13:41:12 UTC (rev 5422)
+++ frm/new_node_update_movie.sh	2010-06-21 13:59:50 UTC (rev 5423)
@@ -6,8 +6,7 @@
 SVN_IP="192.168.1.14"
 
 DIR="/media/data/durian_farm_svn"
-# temporarily use HEAD for the sim REV=$1
-REV="HEAD"
+REV=$1
 
 echo "Updating SVN Production Files to "$REV > $BUSY
 

Modified: frm/slideshow/blender_exr_to_png.py
===================================================================
--- frm/slideshow/blender_exr_to_png.py	2010-06-21 13:41:12 UTC (rev 5422)
+++ frm/slideshow/blender_exr_to_png.py	2010-06-21 13:59:50 UTC (rev 5423)
@@ -9,7 +9,7 @@
 exr_directory, exr_filename = os.path.split(exr_name)
 
 files = [{"name": exr_name}]
-bpy.ops.sequencer.image_strip_add(path=exr_name, filename=exr_filename, directory=exr_directory, filter_blender=False, filter_image=True, filter_movie=False, name="", frame_start=1, channel=1, replace_sel=True, files=files)
+bpy.ops.sequencer.image_strip_add(filepath=exr_name, filename=exr_filename, directory=exr_directory, filter_blender=False, filter_image=True, filter_movie=False, name="", frame_start=1, channel=1, replace_sel=True, files=files)
 
 # render
 bpy.context.scene.frame_start = 1



More information about the Durian-svn mailing list