forked from bartvdbraak/blender
61 lines
1.4 KiB
Python
61 lines
1.4 KiB
Python
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 clientConnection(scene):
|
|
netrender = scene.network_render
|
|
|
|
conn = http.client.HTTPConnection(netrender.server_address, netrender.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 |