[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2044] trunk/py/scripts/addons/ netrender/ui.py: netrender

Martin Poirier theeth at yahoo.com
Mon Jun 20 19:00:47 CEST 2011


Revision: 2044
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2044
Author:   theeth
Date:     2011-06-20 17:00:47 +0000 (Mon, 20 Jun 2011)
Log Message:
-----------
netrender
Add rna callback to server address property so that it correctly checks if the server exists when the value changes.

Modified Paths:
--------------
    trunk/py/scripts/addons/netrender/ui.py

Modified: trunk/py/scripts/addons/netrender/ui.py
===================================================================
--- trunk/py/scripts/addons/netrender/ui.py	2011-06-20 16:59:18 UTC (rev 2043)
+++ trunk/py/scripts/addons/netrender/ui.py	2011-06-20 17:00:47 UTC (rev 2044)
@@ -37,6 +37,7 @@
 ERROR = 3
 
 LAST_ADDRESS_TEST = 0
+ADDRESS_TEST_TIMEOUT = 30
 
 def base_poll(cls, context):
     rd = context.scene.render
@@ -67,11 +68,11 @@
         while(len(netsettings.jobs) > 0):
             netsettings.jobs.remove(0)
 
-def verify_address(netsettings):
+def verify_address(netsettings, force=False):
     global LAST_ADDRESS_TEST
     init_file()
 
-    if LAST_ADDRESS_TEST + 30 < time.time():
+    if force or LAST_ADDRESS_TEST + ADDRESS_TEST_TIMEOUT < time.time():
         LAST_ADDRESS_TEST = time.time()
 
         try:
@@ -384,11 +385,16 @@
     def register(NetRenderSettings):
         from bpy.props import PointerProperty, StringProperty, BoolProperty, EnumProperty, IntProperty, CollectionProperty
 
+        def address_update_callback(self, context):
+            netsettings = context.scene.network_render
+            verify_address(netsettings, True)
+
         NetRenderSettings.server_address = StringProperty(
                         name="Server address",
                         description="IP or name of the master render server",
                         maxlen = 128,
-                        default = "[default]")
+                        default = "[default]",
+                        update = address_update_callback)
         
         NetRenderSettings.server_port = IntProperty(
                         name="Server port",



More information about the Bf-extensions-cvs mailing list