asset_library/adapters/copy_folder.py

46 lines
1.3 KiB
Python
Raw Normal View History

2022-12-24 15:30:32 +01:00
"""
Adapter for making an asset library of all blender file found in a folder
"""
from asset_library.adapters.adapter import AssetLibraryAdapter
from asset_library.common.file_utils import copy_dir
from bpy.props import StringProperty
from os.path import expandvars
import bpy
2022-12-24 15:30:32 +01:00
class CopyFolderLibrary(AssetLibraryAdapter):
"""Copy library folder from a server to a local disk for better performance"""
name = "Copy Folder"
source_directory : StringProperty()
includes : StringProperty()
excludes : StringProperty()
2022-12-28 17:44:15 +01:00
def bundle(self, cache_diff=None):
2022-12-24 15:30:32 +01:00
src = expandvars(self.source_directory)
dst = expandvars(self.bundle_directory)
2022-12-24 15:30:32 +01:00
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_description', 'template_video', 'template_image', 'blend_depth'):
return False
return True
# def draw_prop(self, layout, prop):
# if prop in ('template_description', 'template_video', 'template_image', 'blend_depth'):
# return
# super().draw_prop(layout)