# Made by Davemane42#0042 for ComfyUI import os import subprocess import importlib.util import sys import filecmp import shutil import __main__ python = sys.executable extentions_folder = os.path.join(os.path.dirname(os.path.realpath(__main__.__file__)), "web" + os.sep + "extensions" + os.sep + "FizzleDorf") javascript_folder = os.path.join(os.path.dirname(os.path.realpath(__file__)), "javascript") if not os.path.exists(extentions_folder): print('Making the "web\extensions\FizzleDorf" folder') os.makedirs(extentions_folder) result = filecmp.dircmp(javascript_folder, extentions_folder) if result.left_only or result.diff_files: print('Update to javascripts files detected') file_list = list(result.left_only) file_list.extend(x for x in result.diff_files if x not in file_list) for file in file_list: print(f'Copying {file} to extensions folder') src_file = os.path.join(javascript_folder, file) dst_file = os.path.join(extentions_folder, file) if os.path.exists(dst_file): os.remove(dst_file) #print("disabled") shutil.copy(src_file, dst_file) def is_installed(package, package_overwrite=None): try: spec = importlib.util.find_spec(package) except ModuleNotFoundError: pass package = package_overwrite or package if spec is None: print(f"Installing {package}...") command = f'"{python}" -m pip install {package}' result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, env=os.environ) if result.returncode != 0: print(f"Couldn't install\nCommand: {command}\nError code: {result.returncode}") from .WaveNodes import Lerp, SinWave, InvSinWave, CosWave, InvCosWave, SquareWave, SawtoothWave, TriangleWave, AbsCosWave, AbsSinWave from .ScheduledNodes import ( ValueSchedule, PromptSchedule, PromptScheduleNodeFlow, PromptScheduleNodeFlowEnd, PromptScheduleEncodeSDXL, StringSchedule, BatchPromptSchedule, BatchValueSchedule, BatchPromptScheduleEncodeSDXL, BatchStringSchedule, BatchValueScheduleLatentInput, BatchPromptScheduleEncodeSDXLLatentInput, BatchPromptScheduleLatentInput #, BatchGLIGENSchedule ) NODE_CLASS_MAPPINGS = { "Lerp": Lerp, "SinWave": SinWave, "InvSinWave": InvSinWave, "CosWave": CosWave, "InvCosWave": InvCosWave, "SquareWave":SquareWave, "SawtoothWave": SawtoothWave, "TriangleWave": TriangleWave, "AbsCosWave": AbsCosWave, "AbsSinWave": AbsSinWave, "PromptSchedule": PromptSchedule, "ValueSchedule": ValueSchedule, "PromptScheduleNodeFlow": PromptScheduleNodeFlow, "PromptScheduleNodeFlowEnd": PromptScheduleNodeFlowEnd, "PromptScheduleEncodeSDXL":PromptScheduleEncodeSDXL, "StringSchedule":StringSchedule, "BatchPromptSchedule": BatchPromptSchedule, "BatchValueSchedule": BatchValueSchedule, "BatchPromptScheduleEncodeSDXL": BatchPromptScheduleEncodeSDXL, "BatchStringSchedule": BatchStringSchedule, "BatchValueScheduleLatentInput": BatchValueScheduleLatentInput, "BatchPromptScheduleSDXLLatentInput":BatchPromptScheduleEncodeSDXLLatentInput, "BatchPromptScheduleLatentInput":BatchPromptScheduleLatentInput, #"BatchGLIGENSchedule": BatchGLIGENSchedule, } NODE_DISPLAY_NAME_MAPPINGS = { "PromptScheduleEncodeSDXL": "PromptScheduleSDXL", "BatchPromptScheduleEncodeSDXL": "BatchPromptScheduleSDXL", "BatchStringSchedule": "BatchStringSchedule", "BatchValueScheduleLatentInput": "BatchValueSchedule(LatentInput)", "BatchPromptScheduleSDXLLatentInput": "BatchPromptScheduleSDXL(LatentInput)", "BatchPromptScheduleLatentInput": "BatchPromptSchedule(LatentInput)", } print('\033[34mFizzleDorf Custom Nodes: \033[92mLoaded\033[0m')