49 lines
1.3 KiB
Python
49 lines
1.3 KiB
Python
|
|
||
|
"""
|
||
|
Adapter for making an asset library of all blender file found in a folder
|
||
|
"""
|
||
|
|
||
|
from os.path import expandvars
|
||
|
|
||
|
import bpy
|
||
|
from bpy.props import StringProperty
|
||
|
|
||
|
from .library_plugin import LibraryPlugin
|
||
|
from ..core.file_utils import copy_dir
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
class CopyFolder(LibraryPlugin):
|
||
|
"""Copy library folder from a server to a local disk for better performance"""
|
||
|
|
||
|
name = "Copy Folder"
|
||
|
source_directory : StringProperty()
|
||
|
|
||
|
includes : StringProperty()
|
||
|
excludes : StringProperty()
|
||
|
|
||
|
def bundle(self, cache_diff=None):
|
||
|
src = expandvars(self.source_directory)
|
||
|
dst = expandvars(self.bundle_directory)
|
||
|
|
||
|
includes = [inc.strip() for inc in self.includes.split(',')]
|
||
|
excludes = [ex.strip() for ex in self.excludes.split(',')]
|
||
|
|
||
|
print(f'Copy Folder from {src} to {dst}...')
|
||
|
copy_dir(
|
||
|
src, dst, only_recent=True,
|
||
|
excludes=excludes, includes=includes
|
||
|
)
|
||
|
|
||
|
def filter_prop(self, prop):
|
||
|
if prop in ('template_info', 'template_video', 'template_image', 'blend_depth'):
|
||
|
return False
|
||
|
|
||
|
return True
|
||
|
|
||
|
# def draw_prop(self, layout, prop):
|
||
|
# if prop in ('template_info', 'template_video', 'template_image', 'blend_depth'):
|
||
|
# return
|
||
|
|
||
|
# super().draw_prop(layout)
|