reformat: code cleanup

This commit is contained in:
Swann Martinez
2019-05-02 17:58:37 +02:00
parent 824c70eaff
commit c1119976cd
3 changed files with 71 additions and 116 deletions

View File

@ -1,25 +1,22 @@
import binascii
import collections
import copy
import logging
import os
import queue
import sys
import threading
import time
from enum import Enum
from random import randint
import copy
import queue
from . import draw, helpers, message
from .libs import dump_anything, umsgpack, zmq
# import zmq
lock = threading.Lock()
from .libs import umsgpack
from .libs import zmq
from .libs import dump_anything
from . import helpers
from . import message
from . import draw
logger = logging.getLogger(__name__)
@ -487,4 +484,3 @@ def serial_worker(product, feed):
elif command == 'LOAD':
if value:
helpers.load(key, value)

View File

@ -1,10 +1,12 @@
import bpy
import sys
import mathutils
from .libs import dump_anything
from uuid import uuid4
import logging
import sys
from uuid import uuid4
import bpy
import mathutils
from . import draw
from .libs import dump_anything
CORRESPONDANCE = {'Collection': 'collections', 'Mesh': 'meshes', 'Object': 'objects', 'Material': 'materials',
'Texture': 'textures', 'Scene': 'scenes', 'Light': 'lights', 'Camera': 'cameras', 'Action': 'actions', 'Armature': 'armatures', 'Grease Pencil': 'grease_pencils'}
@ -15,6 +17,8 @@ SUPPORTED_TYPES = ['Material',
logger = logging.getLogger(__name__)
# UTILITY FUNCTIONS
def refresh_window():
import bpy
bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)
@ -28,16 +32,19 @@ def get_selected_objects(scene):
return selected_objects
def get_all_datablocks():
datas = []
for datatype in SUPPORTED_TYPES:
for item in getattr(bpy.data, CORRESPONDANCE[datatype]):
item.id= bpy.context.scene.session_settings.username
item.id = bpy.context.scene.session_settings.username
datas.append("{}/{}".format(datatype, item.name))
return datas
# LOAD HELPERS
def load(key, value):
target = resolve_bpy_path(key)
target_type = key.split('/')[0]
@ -94,25 +101,10 @@ def load_client(client=None, data=None):
D = bpy.data
net_settings = C.scene.session_settings
if client and data:
if net_settings.enable_draw:
draw.renderer.draw_client(data)
draw.renderer.draw_client_selected_objects(data)
# localy_selected = get_selected_objects(C.scene)
# Draw client
# Load selected object
# for obj in C.scene.objects:
# if obj.id == client:
# D.objects[obj.name].hide_select = True
# else:
# D.objects[obj.name].hide_select = False
# if client_data['active_objects'] and obj.name in client_data['active_objects']:
# D.objects[obj.name].hide_select = True
# else:
# D.objects[obj.name].hide_select = False
def load_mesh(target=None, data=None, create=False):
@ -354,7 +346,6 @@ def load_light(target=None, data=None, create=False, type=None):
if target is None and create:
target = bpy.data.lights.new(data["name"], data["type"])
dump_anything.load(target, data)
target.id = data['id']
@ -374,30 +365,32 @@ def load_default(target=None, data=None, create=False, type=None):
logger.error("default loading error {}".format(e))
# DUMP HELPERS
def dump(key):
target = resolve_bpy_path(key)
target_type = key.split('/')[0]
data = None
if target_type == 'Material':
data = dump_datablock_attibute(target, ['name', 'node_tree','id'], 7)
data = dump_datablock_attibute(target, ['name', 'node_tree', 'id'], 7)
elif target_type == 'Grease Pencil':
data = dump_datablock_attibute(
target, ['name', 'layers', 'materials','id'], 9)
target, ['name', 'layers', 'materials', 'id'], 9)
elif target_type == 'Camera':
data = dump_datablock(target, 1)
elif target_type == 'Light':
data = dump_datablock(target, 1)
elif target_type == 'Mesh':
data = dump_datablock_attibute(
target, ['name', 'polygons', 'edges', 'vertices','id'], 6)
target, ['name', 'polygons', 'edges', 'vertices', 'id'], 6)
elif target_type == 'Object':
data = dump_datablock(target, 1)
elif target_type == 'Collection':
data = dump_datablock(target, 4)
elif target_type == 'Scene':
data = dump_datablock_attibute(target,['name','collection','id','camera','grease_pencil'], 4)
data = dump_datablock_attibute(
target, ['name', 'collection', 'id', 'camera', 'grease_pencil'], 4)
return data

View File

@ -1,21 +1,22 @@
import asyncio
import logging
import os
import queue
import random
import string
import time
import asyncio
import queue
from operator import itemgetter
import subprocess
import time
from operator import itemgetter
import bgl
import blf
import bpy
import os
import gpu
import mathutils
from bpy_extras import view3d_utils
from gpu_extras.batch import batch_for_shader
from . import client, ui, draw, helpers
from . import client, draw, helpers, ui
from .libs import umsgpack
logger = logging.getLogger(__name__)
@ -108,43 +109,12 @@ def update_selected_object(context):
# if obj not in client_data[0][1]['active_objects']:
client_data[0][1]['active_objects'] = selected_objects
client_instance.set(client_key,client_data[0][1])
client_instance.set(client_key, client_data[0][1])
break
elif client_data and client_data[0][1]['active_objects']:
client_data[0][1]['active_objects'] = []
client_instance.set(client_key,client_data[0][1])
# for update in local_updates:
# client_instance.get('')
# if session.active_object is not context.selected_objects[0] or session.active_object.is_evaluated:
# session.active_object = context.selected_objects[0]
# key = "net/objects/{}".format(client_instance.id.decode())
# data = {}
# data['color'] = [session.client_instance_color.r,
# session.client_instance_color.g, session.client_instance_color.b]
# data['object'] = session.active_object.name
# client_instance.push_update(
# key, 'client_instanceObject', data)
# return True
# elif len(context.selected_objects) == 0 and session.active_object:
# session.active_object = None
# data = {}
# data['color'] = [session.client_instance_color.r,
# session.client_instance_color.g, session.client_instance_color.b]
# data['object'] = None
# key = "net/objects/{}".format(client_instance.id.decode())
# client_instance.push_update(key, 'client_instanceObject', data)
# return True
# return False
client_instance.set(client_key, client_data[0][1])
def init_datablocks():
@ -152,7 +122,7 @@ def init_datablocks():
for datatype in SUPPORTED_TYPES:
for item in getattr(bpy.data, helpers.CORRESPONDANCE[datatype]):
item.id= bpy.context.scene.session_settings.username
item.id = bpy.context.scene.session_settings.username
key = "{}/{}".format(datatype, item.name)
client_instance.set(key)
@ -160,11 +130,6 @@ def init_datablocks():
def default_tick():
bpy.ops.session.refresh()
upload_client_instance_position()
# global client_instance
# if not client_instance.queue.empty():
# update = client_instance.queue.get()
# helpers.load(update[0],update[1])
return 1
@ -176,19 +141,20 @@ def sync():
for datatype in SUPPORTED_TYPES:
for item in getattr(bpy.data, helpers.CORRESPONDANCE[datatype]):
if item.id == 'None':
item.id= bpy.context.scene.session_settings.username
item.id = bpy.context.scene.session_settings.username
key = "{}/{}".format(datatype, item.name)
client_instance.add(key)
return .2
def register_ticks():
# REGISTER Updaters
bpy.app.timers.register(sync)
bpy.app.timers.register(default_tick)
pass
def unregister_ticks():
# REGISTER Updaters
bpy.app.timers.unregister(sync)
@ -196,6 +162,8 @@ def unregister_ticks():
pass
# OPERATORS
class session_join(bpy.types.Operator):
bl_idname = "session.join"
@ -251,12 +219,12 @@ class session_refresh(bpy.types.Operator):
return True
def execute(self, context):
global client_instance, client_keys,client_state
global client_instance, client_keys, client_state
keys = client_instance.list()
if keys:
client_keys= keys
client_keys = keys
state = client_instance.state()
if state:
@ -373,7 +341,6 @@ class session_stop(bpy.types.Operator):
net_settings = context.scene.session_settings
if server:
server.kill()
time.sleep(0.25)
@ -417,9 +384,7 @@ class session_rights(bpy.types.Operator):
net_settings = context.scene.session_settings
col = layout.column()
col.prop(net_settings,"clients")
col.prop(net_settings, "clients")
def execute(self, context):
global server
@ -431,10 +396,10 @@ class session_rights(bpy.types.Operator):
val = client_instance.get(self.key)
val[0][1]['id'] = net_settings.clients
client_instance.set(key=self.key, value=val[0][1], override=True)
client_instance.set(key=self.key, value=val[0][1],override=True)
print("Updating {} rights to {}".format(self.key,net_settings.clients))
print("Updating {} rights to {}".format(
self.key, net_settings.clients))
else:
print("Not admin")
@ -475,7 +440,9 @@ class session_settings(bpy.types.PropertyGroup):
description="client enum",
items=client_list_callback
)
enable_draw = bpy.props.BoolProperty(name="enable_draw", description='Enable overlay drawing module', default=True)
enable_draw = bpy.props.BoolProperty(
name="enable_draw", description='Enable overlay drawing module', default=True)
class session_snapview(bpy.types.Operator):
bl_idname = "session.snapview"
@ -527,7 +494,7 @@ def ordered(updates):
for item in updates.items():
if item[1].id.bl_rna.name in SUPPORTED_TYPES:
uplist.append((SUPPORTED_TYPES.index(
item[1].id.bl_rna.name), item[1].id.bl_rna.name, item[1].id.name,item[1].id ))
item[1].id.bl_rna.name), item[1].id.bl_rna.name, item[1].id.name, item[1].id))
uplist.sort(key=itemgetter(0))
return uplist
@ -553,7 +520,6 @@ def depsgraph_update(scene):
username = bpy.context.scene.session_settings.username
update_selected_object(bpy.context)
selected_objects = helpers.get_selected_objects(scene)
if len(selected_objects) > 0:
for updated_data in updates: