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:
Diffstat (limited to 'release/io/netrender/utils.py')
-rw-r--r--release/io/netrender/utils.py72
1 files changed, 72 insertions, 0 deletions
diff --git a/release/io/netrender/utils.py b/release/io/netrender/utils.py
new file mode 100644
index 00000000000..72a29472748
--- /dev/null
+++ b/release/io/netrender/utils.py
@@ -0,0 +1,72 @@
+import bpy
+import sys, os
+import re
+import http, http.client, http.server, urllib
+import subprocess, shutil, time, hashlib
+
+import netrender.model
+
+VERSION = b"0.5"
+
+QUEUED = 0
+DISPATCHED = 1
+DONE = 2
+ERROR = 3
+
+def rnaType(rna_type):
+ bpy.types.register(rna_type)
+ return rna_type
+
+def rnaOperator(rna_op):
+ bpy.ops.add(rna_op)
+ return rna_op
+
+def clientConnection(scene):
+ netsettings = scene.network_render
+
+ if netsettings.server_address == "[default]":
+ bpy.ops.render.netclientscan()
+
+ conn = http.client.HTTPConnection(netsettings.server_address, netsettings.server_port)
+
+ if clientVerifyVersion(conn):
+ return conn
+ else:
+ conn.close()
+ return None
+
+def clientVerifyVersion(conn):
+ conn.request("GET", "version")
+ response = conn.getresponse()
+
+ if response.status != http.client.OK:
+ conn.close()
+ return False
+
+ server_version = response.read()
+
+ if server_version != VERSION:
+ print("Incorrect server version!")
+ print("expected", VERSION, "received", server_version)
+ return False
+
+ return True
+
+def prefixPath(prefix_directory, file_path, prefix_path):
+ if os.path.isabs(file_path):
+ # if an absolute path, make sure path exists, if it doesn't, use relative local path
+ full_path = file_path
+ if not os.path.exists(full_path):
+ p, n = os.path.split(full_path)
+
+ if main_path and p.startswith(main_path):
+ directory = prefix_directory + p[len(main_path):]
+ full_path = directory + n
+ if not os.path.exists(directory):
+ os.mkdir(directory)
+ else:
+ full_path = prefix_directory + n
+ else:
+ full_path = prefix_directory + file_path
+
+ return full_path \ No newline at end of file