[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4748] trunk/py/scripts/addons/ render_renderfarmfi: Add service status check: uploading not possible when service isn't accepting sessions.

Nathan Letwory nathan at letworyinteractive.com
Thu Sep 12 14:13:43 CEST 2013


Revision: 4748
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4748
Author:   jesterking
Date:     2013-09-12 12:13:43 +0000 (Thu, 12 Sep 2013)
Log Message:
-----------
Add service status check: uploading not possible when service isn't accepting sessions.
Also show MOTD received from the server.

Various cleanups and small fixes.

Modified Paths:
--------------
    trunk/py/scripts/addons/render_renderfarmfi/__init__.py
    trunk/py/scripts/addons/render_renderfarmfi/operators.py
    trunk/py/scripts/addons/render_renderfarmfi/ore_session.py
    trunk/py/scripts/addons/render_renderfarmfi/panels.py
    trunk/py/scripts/addons/render_renderfarmfi/prepare.py
    trunk/py/scripts/addons/render_renderfarmfi/rpc.py
    trunk/py/scripts/addons/render_renderfarmfi/upload.py

Modified: trunk/py/scripts/addons/render_renderfarmfi/__init__.py
===================================================================
--- trunk/py/scripts/addons/render_renderfarmfi/__init__.py	2013-09-10 19:12:57 UTC (rev 4747)
+++ trunk/py/scripts/addons/render_renderfarmfi/__init__.py	2013-09-12 12:13:43 UTC (rev 4748)
@@ -19,7 +19,7 @@
 bl_info = {
     "name": "Renderfarm.fi",
     "author": "Nathan Letwory <nathan at letworyinteractive.com>, Jesse Kaukonen <jesse.kaukonen at gmail.com>",
-    "version": (22,),
+    "version": (23,),
     "blender": (2, 63, 0),
     "location": "Render > Engine > Renderfarm.fi",
     "description": "Send .blend as session to http://www.renderfarm.fi to render",
@@ -59,6 +59,8 @@
 bpy.rffi_hash = ''
 bpy.passwordCorrect = False
 bpy.loginInserted = False
+bpy.rffi_accepting = False
+bpy.rffi_motd = ''
 
 bpy.errorMessages = {
     'missing_desc': 'You need to enter a title, short and long description',

Modified: trunk/py/scripts/addons/render_renderfarmfi/operators.py
===================================================================
--- trunk/py/scripts/addons/render_renderfarmfi/operators.py	2013-09-10 19:12:57 UTC (rev 4747)
+++ trunk/py/scripts/addons/render_renderfarmfi/operators.py	2013-09-12 12:13:43 UTC (rev 4748)
@@ -29,11 +29,11 @@
 class OpSwitchRenderfarm(bpy.types.Operator):
     bl_label = "Switch to Renderfarm.fi"
     bl_idname = "ore.switch_to_renderfarm_render"
-    
+
     def execute(self, context):
         ore = bpy.context.scene.ore_render
         rd = bpy.context.scene.render
-        
+
         ore.resox = rd.resolution_x
         ore.resoy = rd.resolution_y
         ore.fps = rd.fps
@@ -50,7 +50,7 @@
 class OpSwitchBlenderRender(bpy.types.Operator):
     bl_label = "Switch to local render"
     bl_idname = "ore.switch_to_local_render"
-    
+
     def execute(self, context):
         rd = bpy.context.scene.render
         ore = bpy.context.scene.ore_render
@@ -70,7 +70,7 @@
 class OpCopySettings(bpy.types.Operator):
     bl_label = "Copy settings from current scene"
     bl_idname = "ore.copy_settings"
-    
+
     def execute(self, context):
         sce = bpy.context.scene
         rd = sce.render
@@ -85,7 +85,7 @@
 class ORE_RefreshOp(bpy.types.Operator):
     bl_idname = 'ore.refresh_session_list'
     bl_label = 'Refresh'
-    
+
     def execute(self, context):
         result = _do_refresh(self)
         if (result == 0):
@@ -96,7 +96,7 @@
 class ORE_OpenDownloadLocation(bpy.types.Operator):
     bl_idname = 'ore.open_download_location'
     bl_label = 'Download new version for your platform'
-    
+
     def execute(self, context):
         import webbrowser
         webbrowser.open(bpy.download_location)
@@ -105,7 +105,7 @@
 class ORE_CancelSession(bpy.types.Operator):
     bl_idname = 'ore.cancel_session'
     bl_label = 'Cancel Session'
-    
+
     def execute(self, context):
         sce = context.scene
         ore = sce.ore_render
@@ -115,65 +115,65 @@
                 rffi.cancel_session(self, s)
             except SessionCancelFailedException as scfe:
                 print("sessioncancelfailedexception", scfe)
-        
+
         return {'FINISHED'}
 
 class ORE_GetCompletedSessions(bpy.types.Operator):
     bl_idname = 'ore.completed_sessions'
     bl_label = 'Completed sessions'
-    
+
     def execute(self, context):
         sce = context.scene
         ore = sce.ore_render
         bpy.queue_selected = 1
         bpy.ore_active_session_queue = bpy.ore_completed_sessions
         update_session_list(completed_sessions, ore)
-        
+
         return {'FINISHED'}
 
 class ORE_GetCancelledSessions(bpy.types.Operator):
     bl_idname = 'ore.cancelled_sessions'
     bl_label = 'Cancelled sessions'
-    
+
     def execute(self, context):
         sce = context.scene
         ore = sce.ore_render
         bpy.queue_selected = 4
         bpy.ore_active_session_queue = bpy.ore_cancelled_sessions
         update_session_list(cancelled_sessions, ore)
-        
+
         return {'FINISHED'}
 
 class ORE_GetActiveSessions(bpy.types.Operator):
     bl_idname = 'ore.active_sessions'
     bl_label = 'Rendering sessions'
-    
+
     def execute(self, context):
         sce = context.scene
         ore = sce.ore_render
         bpy.queue_selected = 2
         bpy.ore_active_session_queue = bpy.ore_active_sessions
         update_session_list(active_sessions, ore)
-        
+
         return {'FINISHED'}
 
 class ORE_GetPendingSessions(bpy.types.Operator):
     bl_idname = 'ore.accept_sessions' # using ORE lingo in API. acceptQueue is session waiting for admin approval
     bl_label = 'Pending sessions'
-    
+
     def execute(self, context):
         sce = context.scene
         ore = sce.ore_render
         bpy.queue_selected = 3
         bpy.ore_active_session_queue = bpy.ore_pending_sessions
         update_session_list(pending_sessions, ore)
-        
+
         return {'FINISHED'}
 
 class ORE_CheckUpdate(bpy.types.Operator):
     bl_idname = 'ore.check_update'
     bl_label = 'Check for a new version'
-    
+
     def execute(self, context):
         blenderproxy = xmlrpc.client.ServerProxy(r'http://xmlrpc.renderfarm.fi/renderfarmfi/blender', verbose=bpy.RFFI_VERBOSE)
         try:
@@ -192,20 +192,20 @@
         except xmlrpc.client.ProtocolError as e:
             print('ERROR:', e)
             self.report({'ERROR'}, 'An HTTP error occurred while checking for newer version on Renderfarm.fi: ' + str(e.errcode) + ' ' + e.errmsg)
-        
+
         return {'FINISHED'}
 
 class ORE_LoginOp(bpy.types.Operator):
     bl_idname = 'ore.login'
     bl_label = 'Login'
-    
+
     def execute(self, context):
         sce = context.scene
         ore = sce.ore_render
 
         ore.password = ore.password.strip()
         ore.username = ore.username.strip()
-        
+
         print("writing new credentials")
         _write_credentials(hashlib.md5(ore.password.encode() + ore.username.encode()).hexdigest(),ore.username)
         _read_credentials()
@@ -213,13 +213,13 @@
         ore.username = ''
         bpy.loginInserted = False
         bpy.passwordCorrect = False
-        
+
         try:
             _do_refresh(self, True)
-            
+
             bpy.passwordCorrect = True
             bpy.loginInserted = True
-            
+
         except LoginFailedException as v:
             bpy.ready = False
             bpy.loginInserted = False
@@ -232,13 +232,13 @@
             self.report({'WARNING'}, "Incorrect login: " + str(v))
             print(v)
             return {'CANCELLED'}
-        
+
         return {'FINISHED'}
 
 class ORE_ResetOp(bpy.types.Operator):
     bl_idname = "ore.reset"
     bl_label = "Reset Preparation"
-    
+
     def execute(self, context):
         sce = context.scene
         ore = sce.ore_render
@@ -253,13 +253,13 @@
         ore.tags = ''
         ore.title = ''
         ore.url = ''
-        
+
         return {'FINISHED'}
 
 class ORE_TestRenderOp(bpy.types.Operator):
     bl_idname = "ore.test_render"
     bl_label = "Run a test render"
-    
+
     def execute(self, context):
         rd = context.scene.render
         rd.engine = 'BLENDER_RENDER'
@@ -274,12 +274,12 @@
 class ORE_UploaderOp(bpy.types.Operator):
     bl_idname = "ore.upload"
     bl_label = "Render on Renderfarm.fi"
-    
+
     def execute(self, context):
-        
+
         bpy.uploadInProgress = True
         _prepare_scene()
-        
+
         returnValue = _ore_upload(self, context)
         bpy.uploadInProgress = False
         return returnValue
@@ -287,24 +287,24 @@
 class ORE_UseBlenderReso(bpy.types.Operator):
     bl_idname = "ore.use_scene_settings"
     bl_label = "Use Scene settings"
-    
+
     def execute(self, context):
         sce = context.scene
         ore = sce.ore_render
         rd = context.scene.render
-        
+
         ore.resox = rd.resolution_x
         ore.resoy = rd.resolution_y
         ore.start = sce.frame_start
         ore.end = sce.frame_end
         ore.fps = rd.fps
-        
+
         return {'FINISHED'}
-        
+
 class ORE_UseCyclesRender(bpy.types.Operator):
     bl_idname = "ore.use_cycles_render"
     bl_label = "Cycles"
-    
+
     def execute(self, context):
         context.scene.ore_render.engine = 'cycles'
         return {'FINISHED'}
@@ -312,7 +312,7 @@
 class ORE_UseBlenderRender(bpy.types.Operator):
     bl_idname = "ore.use_blender_render"
     bl_label = "Blender Internal"
-    
+
     def execute(self, context):
         context.scene.ore_render.engine = 'blender'
         return {'FINISHED'}
@@ -320,7 +320,7 @@
 class ORE_ChangeUser(bpy.types.Operator):
     bl_idname = "ore.change_user"
     bl_label = "Change user"
-    
+
     def execute(self, context):
         ore = context.scene.ore_render
         _write_credentials('', '')
@@ -333,5 +333,15 @@
         bpy.rffi_creds_found = False
         bpy.passwordCorrect = False
         bpy.loginInserted = False
-        
+        bpy.rffi_accepts = False
+        bpy.rffi_motd = ''
+
         return {'FINISHED'}
+
+class ORE_CheckStatus(bpy.types.Operator):
+    bl_idname = "ore.check_status"
+    bl_label = "Check Renderfarm.fi Accept status"
+
+    def execute(self, context):
+        rffi.check_status()
+        return {'FINISHED'}

Modified: trunk/py/scripts/addons/render_renderfarmfi/ore_session.py
===================================================================
--- trunk/py/scripts/addons/render_renderfarmfi/ore_session.py	2013-09-10 19:12:57 UTC (rev 4747)
+++ trunk/py/scripts/addons/render_renderfarmfi/ore_session.py	2013-09-12 12:13:43 UTC (rev 4748)
@@ -19,7 +19,7 @@
 from math import floor
 
 class OreSession:
-    
+
     def __init__(self, id, title):
         self.id = id
         self.title = title
@@ -28,13 +28,13 @@
         self.endframe = 0
         self.rendertime = 0
         self.percentage = 0
-    
+
     def percentageComplete(self):
         totFrames = self.endframe - self.startframe
         done = 0
         if totFrames != 0:
             done = floor((self.frames / totFrames)*100)
-        
+
         if done > 100:
             done = 100
         return done

Modified: trunk/py/scripts/addons/render_renderfarmfi/panels.py
===================================================================
--- trunk/py/scripts/addons/render_renderfarmfi/panels.py	2013-09-10 19:12:57 UTC (rev 4747)
+++ trunk/py/scripts/addons/render_renderfarmfi/panels.py	2013-09-12 12:13:43 UTC (rev 4748)
@@ -27,54 +27,45 @@
     bl_space_type = 'PROPERTIES'
     bl_region_type = 'WINDOW'

@@ Diff output truncated at 10240 characters. @@


More information about the Bf-extensions-cvs mailing list