Brushstroke Tools: Initial Version #328

Merged
Simon Thommes merged 229 commits from SimonThommes/blender-studio-tools:brushstroke_tools-initial-version into main 2024-11-06 15:03:47 +01:00
Showing only changes of commit 8fd2333071 - Show all commits

View File

@ -1,9 +1,11 @@
import os
import os, ast
import bpy
from bpy.app.handlers import persistent
import math, shutil, errno
from bpy.app.handlers import persistent
addon_version = (0,0,0)
ng_list = [
".brushstroke_tools.draw_processing",
".brushstroke_tools.pre_processing",
@ -184,7 +186,6 @@ def deep_copy_mod_info(source_object, target_object):
for attr in socket_info.keys():
setattr(socket_info_tgt, attr, getattr(socket_info, attr))
def get_addon_directory() -> str:
"""
Returns the path of the addon directory.
@ -219,6 +220,16 @@ def import_resources(ng_names = ng_list):
if 'brushstroke_tools-resources.blend' in img.library_weak_reference.filepath:
img.pack()
def read_lib_version():
resource_dir = f'{get_resource_directory()}'
with open(f"{resource_dir}.version", "r") as file:
version = ast.literal_eval(file.read())
return version
def write_lib_version():
resource_dir = f'{get_resource_directory()}'
with open(f"{resource_dir}.version", "w") as file:
file.write(str(addon_version))
def copy_resources_to_dir(tgt_dir = ''):
resource_dir = f'{get_addon_directory()}/assets/'
@ -227,15 +238,15 @@ def copy_resources_to_dir(tgt_dir = ''):
try:
shutil.copytree(resource_dir, tgt_dir, dirs_exist_ok=True)
write_lib_version()
except OSError as err:
# error caused if the source was not a directory
if err.errno == errno.ENOTDIR:
shutil.copy2(resource_dir, tgt_dir)
write_lib_version()
else:
print("Error: % s" % err)
def ensure_resources():
ng_missing = set()