From a73be8097d6ba586dbf3ca2f4e901ff042d3aca3 Mon Sep 17 00:00:00 2001 From: Martin Poirier Date: Wed, 18 Nov 2009 18:00:46 +0000 Subject: [PATCH] Netrender cleanup and bug fix Blacklist and linked files work again Store temp data in module --- release/scripts/io/netrender/__init__.py | 10 +++------ release/scripts/io/netrender/client.py | 5 +++-- release/scripts/io/netrender/operators.py | 27 ++++++++++++----------- release/scripts/io/netrender/ui.py | 17 +++++++------- release/scripts/io/netrender/utils.py | 7 +++--- 5 files changed, 33 insertions(+), 33 deletions(-) diff --git a/release/scripts/io/netrender/__init__.py b/release/scripts/io/netrender/__init__.py index 3a170529aa5..9e48164a5eb 100644 --- a/release/scripts/io/netrender/__init__.py +++ b/release/scripts/io/netrender/__init__.py @@ -28,11 +28,7 @@ from netrender import utils from netrender import balancing from netrender import ui -# store temp data in bpy module - -import bpy - -bpy.netrender_jobs = [] -bpy.netrender_slaves = [] -bpy.netrender_blacklist = [] +jobs = [] +slaves = [] +blacklist = [] diff --git a/release/scripts/io/netrender/client.py b/release/scripts/io/netrender/client.py index b9b31b229b2..9a28fb2f7a9 100644 --- a/release/scripts/io/netrender/client.py +++ b/release/scripts/io/netrender/client.py @@ -21,6 +21,7 @@ import sys, os, re import http, http.client, http.server, urllib import subprocess, shutil, time, hashlib +import netrender import netrender.model import netrender.slave as slave import netrender.master as master @@ -113,7 +114,7 @@ def clientSendJob(conn, scene, anim = False): # LIBRARIES ########################### for lib in bpy.data.libraries: - job.addFile(bpy.utils.expandpath(lib_path)) + job.addFile(bpy.utils.expandpath(lib.filename)) ########################### # IMAGES @@ -150,7 +151,7 @@ def clientSendJob(conn, scene, anim = False): job.name = job_name - for slave in scene.network_render.slaves_blacklist: + for slave in netrender.blacklist: job.blacklist.append(slave.id) job.chunks = netsettings.chunks diff --git a/release/scripts/io/netrender/operators.py b/release/scripts/io/netrender/operators.py index 3a80bbd6a7c..b5b16b1fb9c 100644 --- a/release/scripts/io/netrender/operators.py +++ b/release/scripts/io/netrender/operators.py @@ -21,6 +21,7 @@ import sys, os import http, http.client, http.server, urllib, socket import webbrowser +import netrender from netrender.utils import * import netrender.client as client import netrender.model @@ -101,10 +102,10 @@ class RENDER_OT_netclientstatus(bpy.types.Operator): while(len(netsettings.jobs) > 0): netsettings.jobs.remove(0) - bpy.netrender_jobs = [] + netrender.jobs = [] for j in jobs: - bpy.netrender_jobs.append(j) + netrender.jobs.append(j) netsettings.jobs.add() job = netsettings.jobs[-1] @@ -132,8 +133,8 @@ class RENDER_OT_netclientblacklistslave(bpy.types.Operator): if netsettings.active_slave_index >= 0: # deal with data - slave = bpy.netrender_slaves.pop(netsettings.active_slave_index) - bpy.netrender_blacklist.append(slave) + slave = netrender.slaves.pop(netsettings.active_slave_index) + netrender.blacklist.append(slave) # deal with rna netsettings.slaves_blacklist.add() @@ -162,8 +163,8 @@ class RENDER_OT_netclientwhitelistslave(bpy.types.Operator): if netsettings.active_blacklisted_slave_index >= 0: # deal with data - slave = bpy.netrender_blacklist.pop(netsettings.active_blacklisted_slave_index) - bpy.netrender_slaves.append(slave) + slave = netrender.blacklist.pop(netsettings.active_blacklisted_slave_index) + netrender.slaves.append(slave) # deal with rna netsettings.slaves.add() @@ -202,17 +203,17 @@ class RENDER_OT_netclientslaves(bpy.types.Operator): while(len(netsettings.slaves) > 0): netsettings.slaves.remove(0) - bpy.netrender_slaves = [] + netrender.slaves = [] for s in slaves: - for i in range(len(bpy.netrender_blacklist)): - slave = bpy.netrender_blacklist[i] + for i in range(len(netrender.blacklist)): + slave = netrender.blacklist[i] if slave.id == s.id: - bpy.netrender_blacklist[i] = s + netrender.blacklist[i] = s netsettings.slaves_blacklist[i].name = s.name break else: - bpy.netrender_slaves.append(s) + netrender.slaves.append(s) netsettings.slaves.add() slave = netsettings.slaves[-1] @@ -238,7 +239,7 @@ class RENDER_OT_netclientcancel(bpy.types.Operator): conn = clientConnection(netsettings.server_address, netsettings.server_port) if conn: - job = bpy.netrender_jobs[netsettings.active_job_index] + job = netrender.jobs[netsettings.active_job_index] conn.request("POST", "/cancel", headers={"job-id":job.id}) @@ -296,7 +297,7 @@ class netclientdownload(bpy.types.Operator): conn = clientConnection(netsettings.server_address, netsettings.server_port) if conn: - job = bpy.netrender_jobs[netsettings.active_job_index] + job = netrender.jobs[netsettings.active_job_index] for frame in job.frames: client.requestResult(conn, job.id, frame.number) diff --git a/release/scripts/io/netrender/ui.py b/release/scripts/io/netrender/ui.py index df75c175cae..e0273618900 100644 --- a/release/scripts/io/netrender/ui.py +++ b/release/scripts/io/netrender/ui.py @@ -21,6 +21,7 @@ import sys, os import http, http.client, http.server, urllib import subprocess, shutil, time, hashlib +import netrender import netrender.slave as slave import netrender.master as master @@ -122,14 +123,14 @@ class RENDER_PT_network_slaves(RenderButtonsPanel): sub.itemO("render.netclientslaves", icon="ICON_FILE_REFRESH", text="") sub.itemO("render.netclientblacklistslave", icon="ICON_ZOOMOUT", text="") - if len(bpy.netrender_slaves) == 0 and len(netsettings.slaves) > 0: + if len(netrender.slaves) == 0 and len(netsettings.slaves) > 0: while(len(netsettings.slaves) > 0): netsettings.slaves.remove(0) if netsettings.active_slave_index >= 0 and len(netsettings.slaves) > 0: layout.itemS() - slave = bpy.netrender_slaves[netsettings.active_slave_index] + slave = netrender.slaves[netsettings.active_slave_index] layout.itemL(text="Name: " + slave.name) layout.itemL(text="Address: " + slave.address[0]) @@ -157,19 +158,19 @@ class RENDER_PT_network_slaves_blacklist(RenderButtonsPanel): sub = row.column(align=True) sub.itemO("render.netclientwhitelistslave", icon="ICON_ZOOMOUT", text="") - if len(bpy.netrender_blacklist) == 0 and len(netsettings.slaves_blacklist) > 0: + if len(netrender.blacklist) == 0 and len(netsettings.slaves_blacklist) > 0: while(len(netsettings.slaves_blacklist) > 0): netsettings.slaves_blacklist.remove(0) if netsettings.active_blacklisted_slave_index >= 0 and len(netsettings.slaves_blacklist) > 0: layout.itemS() - slave = bpy.netrender_blacklist[netsettings.active_blacklisted_slave_index] + slave = netrender.blacklist[netsettings.active_blacklisted_slave_index] layout.itemL(text="Name: " + slave.name) layout.itemL(text="Address: " + slave.address[0]) - layout.itemL(text="Seen: " + slave.last_seen) - layout.itemL(text="Stats: " + time.ctime(slave.stats)) + layout.itemL(text="Seen: " + time.ctime(slave.last_seen)) + layout.itemL(text="Stats: " + slave.stats) @rnaType class RENDER_PT_network_jobs(RenderButtonsPanel): @@ -195,14 +196,14 @@ class RENDER_PT_network_jobs(RenderButtonsPanel): sub.itemO("render.netclientcancelall", icon="ICON_PANEL_CLOSE", text="") sub.itemO("render.netclientdownload", icon='ICON_RENDER_ANIMATION', text="") - if len(bpy.netrender_jobs) == 0 and len(netsettings.jobs) > 0: + if len(netrender.jobs) == 0 and len(netsettings.jobs) > 0: while(len(netsettings.jobs) > 0): netsettings.jobs.remove(0) if netsettings.active_job_index >= 0 and len(netsettings.jobs) > 0: layout.itemS() - job = bpy.netrender_jobs[netsettings.active_job_index] + job = netrender.jobs[netsettings.active_job_index] layout.itemL(text="Name: %s" % job.name) layout.itemL(text="Length: %04i" % len(job)) diff --git a/release/scripts/io/netrender/utils.py b/release/scripts/io/netrender/utils.py index 66e7e72ed55..e549e872398 100644 --- a/release/scripts/io/netrender/utils.py +++ b/release/scripts/io/netrender/utils.py @@ -78,9 +78,10 @@ def clientScan(): def clientConnection(address, port): if address == "[default]": - if bpy: - bpy.ops.render.netclientscan() - else: +# calling operator from python is fucked, scene isn't in context +# if bpy: +# bpy.ops.render.netclientscan() +# else: address, port = clientScan() conn = http.client.HTTPConnection(address, port)