refactor: remove list
This commit is contained in:
parent
569543650f
commit
1e15a12b10
@ -1 +1 @@
|
|||||||
Subproject commit a40741185955a8f8700f4ebeb14d4d83e3186718
|
Subproject commit d3b998789fd5c8696a21e0ef8ffae80c1024beba
|
@ -105,7 +105,6 @@ def initialize_session():
|
|||||||
for d in deleyables:
|
for d in deleyables:
|
||||||
d.register()
|
d.register()
|
||||||
|
|
||||||
bpy.ops.session.apply_armature_operator('INVOKE_DEFAULT')
|
|
||||||
|
|
||||||
# Step 5: Clearing history
|
# Step 5: Clearing history
|
||||||
utils.flush_history()
|
utils.flush_history()
|
||||||
@ -641,48 +640,6 @@ class SessionCommit(bpy.types.Operator):
|
|||||||
self.report({'ERROR'}, repr(e))
|
self.report({'ERROR'}, repr(e))
|
||||||
return {"CANCELLED"}
|
return {"CANCELLED"}
|
||||||
|
|
||||||
class ApplyArmatureOperator(bpy.types.Operator):
|
|
||||||
"""Operator which runs its self from a timer"""
|
|
||||||
bl_idname = "session.apply_armature_operator"
|
|
||||||
bl_label = "Modal Executor Operator"
|
|
||||||
|
|
||||||
_timer = None
|
|
||||||
|
|
||||||
def modal(self, context, event):
|
|
||||||
global stop_modal_executor, modal_executor_queue
|
|
||||||
if stop_modal_executor:
|
|
||||||
self.cancel(context)
|
|
||||||
return {'CANCELLED'}
|
|
||||||
|
|
||||||
if event.type == 'TIMER':
|
|
||||||
if session and session.state == STATE_ACTIVE:
|
|
||||||
nodes = session.list(filter=bl_types.bl_armature.BlArmature)
|
|
||||||
|
|
||||||
for node in nodes:
|
|
||||||
node_ref = session.repository.get_node(node)
|
|
||||||
|
|
||||||
if node_ref.state == FETCHED:
|
|
||||||
try:
|
|
||||||
porcelain.apply(session.repository, node)
|
|
||||||
except Exception as e:
|
|
||||||
logging.error("Fail to apply armature: {e}")
|
|
||||||
|
|
||||||
return {'PASS_THROUGH'}
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
wm = context.window_manager
|
|
||||||
self._timer = wm.event_timer_add(2, window=context.window)
|
|
||||||
wm.modal_handler_add(self)
|
|
||||||
return {'RUNNING_MODAL'}
|
|
||||||
|
|
||||||
def cancel(self, context):
|
|
||||||
global stop_modal_executor
|
|
||||||
|
|
||||||
wm = context.window_manager
|
|
||||||
wm.event_timer_remove(self._timer)
|
|
||||||
|
|
||||||
stop_modal_executor = False
|
|
||||||
|
|
||||||
|
|
||||||
class SessionClearCache(bpy.types.Operator):
|
class SessionClearCache(bpy.types.Operator):
|
||||||
"Clear local session cache"
|
"Clear local session cache"
|
||||||
@ -712,6 +669,7 @@ class SessionClearCache(bpy.types.Operator):
|
|||||||
row = self.layout
|
row = self.layout
|
||||||
row.label(text=f" Do you really want to remove local cache ? ")
|
row.label(text=f" Do you really want to remove local cache ? ")
|
||||||
|
|
||||||
|
|
||||||
class SessionPurgeOperator(bpy.types.Operator):
|
class SessionPurgeOperator(bpy.types.Operator):
|
||||||
"Remove node with lost references"
|
"Remove node with lost references"
|
||||||
bl_idname = "session.purge"
|
bl_idname = "session.purge"
|
||||||
@ -802,6 +760,7 @@ class SessionSaveBackupOperator(bpy.types.Operator, ExportHelper):
|
|||||||
def poll(cls, context):
|
def poll(cls, context):
|
||||||
return session.state == STATE_ACTIVE
|
return session.state == STATE_ACTIVE
|
||||||
|
|
||||||
|
|
||||||
class SessionStopAutoSaveOperator(bpy.types.Operator):
|
class SessionStopAutoSaveOperator(bpy.types.Operator):
|
||||||
bl_idname = "session.cancel_autosave"
|
bl_idname = "session.cancel_autosave"
|
||||||
bl_label = "Cancel auto-save"
|
bl_label = "Cancel auto-save"
|
||||||
@ -862,6 +821,7 @@ class SessionLoadSaveOperator(bpy.types.Operator, ImportHelper):
|
|||||||
def poll(cls, context):
|
def poll(cls, context):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def menu_func_import(self, context):
|
def menu_func_import(self, context):
|
||||||
self.layout.operator(SessionLoadSaveOperator.bl_idname, text='Multi-user session snapshot (.db)')
|
self.layout.operator(SessionLoadSaveOperator.bl_idname, text='Multi-user session snapshot (.db)')
|
||||||
|
|
||||||
@ -875,7 +835,6 @@ classes = (
|
|||||||
SessionPropertyRightOperator,
|
SessionPropertyRightOperator,
|
||||||
SessionApply,
|
SessionApply,
|
||||||
SessionCommit,
|
SessionCommit,
|
||||||
ApplyArmatureOperator,
|
|
||||||
SessionKickOperator,
|
SessionKickOperator,
|
||||||
SessionInitOperator,
|
SessionInitOperator,
|
||||||
SessionClearCache,
|
SessionClearCache,
|
||||||
@ -886,22 +845,23 @@ classes = (
|
|||||||
SessionPurgeOperator,
|
SessionPurgeOperator,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def update_external_dependencies():
|
def update_external_dependencies():
|
||||||
nodes_ids = session.list(filter=bl_types.bl_file.BlFile)
|
nodes_ids = [n.uuid for n in session.repository.nodes.values() if n.data['type_id'] in ['WindowsPath', 'PosixPath']]
|
||||||
for node_id in nodes_ids:
|
for node_id in nodes_ids:
|
||||||
node = session.repository.get_node(node_id)
|
node = session.repository.get_node(node_id)
|
||||||
if node and node.owner in [session.id, RP_COMMON]:
|
if node and node.owner in [session.id, RP_COMMON]:
|
||||||
porcelain.commit(session.repository, node_id)
|
porcelain.commit(session.repository, node_id)
|
||||||
porcelain.push(session.repository,'origin', node_id)
|
porcelain.push(session.repository,'origin', node_id)
|
||||||
|
|
||||||
|
|
||||||
def sanitize_deps_graph(remove_nodes: bool = False):
|
def sanitize_deps_graph(remove_nodes: bool = False):
|
||||||
""" Cleanup the replication graph
|
""" Cleanup the replication graph
|
||||||
"""
|
"""
|
||||||
if session and session.state == STATE_ACTIVE:
|
if session and session.state == STATE_ACTIVE:
|
||||||
start = utils.current_milli_time()
|
start = utils.current_milli_time()
|
||||||
rm_cpt = 0
|
rm_cpt = 0
|
||||||
for node_key in session.list():
|
for node in session.repository.nodes.values():
|
||||||
node = session.repository.get_node(node_key)
|
|
||||||
node.instance = session.repository.rdp.resolve(node.data)
|
node.instance = session.repository.rdp.resolve(node.data)
|
||||||
if node is None \
|
if node is None \
|
||||||
or (node.state == UP and not node.instance):
|
or (node.state == UP and not node.instance):
|
||||||
@ -928,6 +888,7 @@ def resolve_deps_graph(dummy):
|
|||||||
if session and session.state == STATE_ACTIVE:
|
if session and session.state == STATE_ACTIVE:
|
||||||
sanitize_deps_graph(remove_nodes=True)
|
sanitize_deps_graph(remove_nodes=True)
|
||||||
|
|
||||||
|
|
||||||
@persistent
|
@persistent
|
||||||
def load_pre_handler(dummy):
|
def load_pre_handler(dummy):
|
||||||
if session and session.state in [STATE_ACTIVE, STATE_SYNCING]:
|
if session and session.state in [STATE_ACTIVE, STATE_SYNCING]:
|
||||||
|
@ -109,9 +109,7 @@ class SessionListenTimer(Timer):
|
|||||||
class ApplyTimer(Timer):
|
class ApplyTimer(Timer):
|
||||||
def execute(self):
|
def execute(self):
|
||||||
if session and session.state == STATE_ACTIVE:
|
if session and session.state == STATE_ACTIVE:
|
||||||
nodes = session.list()
|
for node in session.repository.nodes.keys():
|
||||||
|
|
||||||
for node in nodes:
|
|
||||||
node_ref = session.repository.get_node(node)
|
node_ref = session.repository.get_node(node)
|
||||||
|
|
||||||
if node_ref.state == FETCHED:
|
if node_ref.state == FETCHED:
|
||||||
@ -235,7 +233,7 @@ class DynamicRightSelectTimer(Timer):
|
|||||||
|
|
||||||
# Fix deselection until right managment refactoring (with Roles concepts)
|
# Fix deselection until right managment refactoring (with Roles concepts)
|
||||||
if len(current_selection) == 0 :
|
if len(current_selection) == 0 :
|
||||||
owned_keys = session.list(filter_owner=settings.username)
|
owned_keys = [k for k, v in session.repository.nodes.items() if v.owner==settings.username]
|
||||||
for key in owned_keys:
|
for key in owned_keys:
|
||||||
node = session.repository.get_node(key)
|
node = session.repository.get_node(key)
|
||||||
try:
|
try:
|
||||||
|
@ -548,10 +548,9 @@ class SESSION_PT_repository(bpy.types.Panel):
|
|||||||
row = box.row()
|
row = box.row()
|
||||||
|
|
||||||
# Properties
|
# Properties
|
||||||
types_filter = [t.type_name for t in settings.supported_datablocks
|
owned_nodes = [k for k, v in session.repository.nodes.items() if v.owner==settings.username]
|
||||||
if t.use_as_filter]
|
|
||||||
|
|
||||||
filtered_node = session.list(filter_owner=settings.username) if runtime_settings.filter_owned else session.list()
|
filtered_node = owned_nodes if runtime_settings.filter_owned else session.repository.nodes.keys()
|
||||||
|
|
||||||
if runtime_settings.filter_name:
|
if runtime_settings.filter_name:
|
||||||
for node_id in filtered_node:
|
for node_id in filtered_node:
|
||||||
|
Loading…
Reference in New Issue
Block a user