Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Poirier <theeth@yahoo.com>2009-09-26 23:50:59 +0400
committerMartin Poirier <theeth@yahoo.com>2009-09-26 23:50:59 +0400
commit7af92d6eff8d690789503349991db475dde16972 (patch)
tree36511f7b890db979732f0c4abfe7608c16f3ecbb
parent128dba3329076980d9a7c1cfa326cc3b17f05152 (diff)
netrender: split off job settings in their own panel. Add button to open up web interface in a browser.
-rw-r--r--release/io/netrender/operators.py44
-rw-r--r--release/io/netrender/ui.py34
2 files changed, 64 insertions, 14 deletions
diff --git a/release/io/netrender/operators.py b/release/io/netrender/operators.py
index 4278231ab35..42d1f6a0b86 100644
--- a/release/io/netrender/operators.py
+++ b/release/io/netrender/operators.py
@@ -1,6 +1,7 @@
import bpy
import sys, os
import http, http.client, http.server, urllib, socket
+import webbrowser
from netrender.utils import *
import netrender.client as client
@@ -369,13 +370,13 @@ class netclientscan(bpy.types.Operator):
def execute(self, context):
netsettings = context.scene.network_render
- s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
- s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
- s.settimeout(30)
-
- s.bind(('', 8000))
-
try:
+ s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+ s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
+ s.settimeout(30)
+
+ s.bind(('', 8000))
+
buf, address = s.recvfrom(64)
print("received:", buf)
@@ -389,3 +390,34 @@ class netclientscan(bpy.types.Operator):
def invoke(self, context, event):
return self.execute(context)
+
+@rnaOperator
+class netclientweb(bpy.types.Operator):
+ '''Operator documentation text, will be used for the operator tooltip and python docs.'''
+ __idname__ = "render.netclientweb"
+ __label__ = "Net Render Client Web"
+
+ # List of operator properties, the attributes will be assigned
+ # to the class instance from the operator settings before calling.
+
+ __props__ = []
+
+ def poll(self, context):
+ return True
+
+ def execute(self, context):
+ netsettings = context.scene.network_render
+
+
+ # open connection to make sure server exists
+ conn = clientConnection(context.scene)
+
+ if conn:
+ conn.close()
+
+ webbrowser.open("http://%s:%i" % (netsettings.server_address, netsettings.server_port))
+
+ return ('FINISHED',)
+
+ def invoke(self, context, event):
+ return self.execute(context)
diff --git a/release/io/netrender/ui.py b/release/io/netrender/ui.py
index 7ee0b64d150..ddaf0e6854a 100644
--- a/release/io/netrender/ui.py
+++ b/release/io/netrender/ui.py
@@ -48,9 +48,6 @@ class SCENE_PT_network_settings(RenderButtonsPanel):
col = split.column()
- if scene.network_render.mode == "RENDER_CLIENT":
- col.itemO("render.netclientanim", icon='ICON_RENDER_ANIMATION', text="Animaton on network")
-
col.itemR(scene.network_render, "mode")
col.itemR(scene.network_render, "path")
col.itemR(scene.network_render, "server_address")
@@ -60,12 +57,33 @@ class SCENE_PT_network_settings(RenderButtonsPanel):
col.itemR(scene.network_render, "server_broadcast")
else:
col.itemO("render.netclientscan", icon="ICON_FILE_REFRESH", text="")
+
+@rnaType
+class SCENE_PT_network_job(RenderButtonsPanel):
+ __label__ = "Job Settings"
+ COMPAT_ENGINES = set(['NET_RENDER'])
+
+ def poll(self, context):
+ scene = context.scene
+ return super().poll(context) and scene.network_render.mode == "RENDER_CLIENT"
+
+ def draw(self, context):
+ layout = self.layout
+ scene = context.scene
+ rd = scene.render_data
+
+ layout.active = True
+
+ split = layout.split()
+
+ col = split.column()
- if scene.network_render.mode == "RENDER_CLIENT":
- col.itemO("render.netclientsend", text="send job to server")
- col.itemR(scene.network_render, "job_name")
- col.itemR(scene.network_render, "priority")
- col.itemR(scene.network_render, "chunks")
+ col.itemO("render.netclientanim", icon='ICON_RENDER_ANIMATION', text="Animaton on network")
+ col.itemO("render.netclientsend", icon="ICON_FILE_BLEND", text="Send job")
+ col.itemO("render.netclientweb", icon="ICON_QUESTION", text="Open Master Monitor")
+ col.itemR(scene.network_render, "job_name")
+ col.itemR(scene.network_render, "priority")
+ col.itemR(scene.network_render, "chunks")
@rnaType
class SCENE_PT_network_slaves(RenderButtonsPanel):