Netrender cleanup and bug fix
Blacklist and linked files work again Store temp data in module
This commit is contained in:
		@@ -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 = []
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
 
 | 
			
		||||
@@ -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))
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user