[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