asset_library/plugins/copy_folder.py

49 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 os.path import expandvars
2024-05-27 17:22:45 +02:00
import bpy
2024-05-27 17:22:45 +02:00
from bpy.props import StringProperty
from .library_plugin import LibraryPlugin
from ..core.file_utils import copy_dir
2022-12-24 15:30:32 +01:00
2024-05-27 17:22:45 +02:00
class CopyFolder(LibraryPlugin):
2022-12-24 15:30:32 +01:00
"""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):
2023-01-17 18:05:22 +01:00
if prop in ('template_info', 'template_video', 'template_image', 'blend_depth'):
return False
return True
# def draw_prop(self, layout, prop):
2023-01-17 18:05:22 +01:00
# if prop in ('template_info', 'template_video', 'template_image', 'blend_depth'):
# return
# super().draw_prop(layout)