33 lines
825 B
Python
33 lines
825 B
Python
import bpy
|
|
from .libs.replication.constants import *
|
|
from . import operators
|
|
|
|
class Timer():
|
|
def __init__(self, duration=1):
|
|
self._timeout = duration
|
|
|
|
def start(self):
|
|
bpy.app.timers.register(self.execute)
|
|
|
|
def execute(self):
|
|
return self._timeout
|
|
|
|
def stop(self):
|
|
bpy.app.timers.unregister(self.execute)
|
|
|
|
class ApplyTimer(Timer):
|
|
def __init__(self, timout=1,target_type=None):
|
|
self._type = target_type
|
|
super().__init__(timout)
|
|
|
|
def execute(self):
|
|
if operators.client:
|
|
nodes = operators.client.list(filter=self._type)
|
|
|
|
for node in nodes:
|
|
node_ref = operators.client.get(node)
|
|
|
|
if node_ref.state == FETCHED:
|
|
operators.client.apply(uuid=node)
|
|
|
|
return self._timeout |