Fooocus/build_chb.py
lllyasviel 26fe88d8a6
fix (#662)
* i

* i
2023-10-12 15:41:23 -07:00

67 lines
1.9 KiB
Python

import os
import shutil
import stat
import fnmatch
from modules.launch_util import run
def onerror(func, path, execinfo):
os.chmod(path, stat.S_IWUSR)
func(path)
def get_empty_folder(path):
if os.path.isdir(path) or os.path.exists(path):
shutil.rmtree(path, onerror=onerror)
os.makedirs(path, exist_ok=True)
return path
def git_clone(url, dir, hash=None):
run(f'git clone {url} {dir}')
def findReplace(directory, find, replace, filePattern):
for path, dirs, files in os.walk(os.path.abspath(directory)):
for filename in fnmatch.filter(files, filePattern):
filepath = os.path.join(path, filename)
with open(filepath, encoding='utf-8') as f:
s = f.read()
s = s.replace(find, replace)
with open(filepath, "w", encoding='utf-8') as f:
f.write(s)
repo = "https://github.com/comfyanonymous/ComfyUI"
commit_hash = None
temp_path = get_empty_folder(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'backend', 'temp'))
core_path = get_empty_folder(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'backend', 'headless'))
git_clone(repo, temp_path, commit_hash)
def get_item(name, rename=None):
if rename is None:
rename = name
shutil.move(os.path.join(temp_path, name), os.path.join(core_path, rename))
get_item('comfy', 'fcbh')
get_item('comfy_extras', 'fcbh_extras')
get_item('latent_preview.py')
get_item('folder_paths.py')
get_item('nodes.py')
get_item('LICENSE')
shutil.rmtree(temp_path, onerror=onerror)
findReplace("./backend", "comfy", "fcbh", "*.py")
findReplace("./backend", "Comfy", "FCBH", "*.py")
findReplace("./backend", "FCBHUI", "fcbh_backend", "*.py")
findReplace("./backend", "os.path.dirname(os.path.realpath(__file__))",
"os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))", "folder_paths.py")
print('Backend is built.')