-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathauto_configure_thin.py
More file actions
108 lines (88 loc) · 3.6 KB
/
auto_configure_thin.py
File metadata and controls
108 lines (88 loc) · 3.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
import json
import os
import subprocess
import requests
def is_valid_json(json_string):
try:
json.loads(json_string)
return True
except json.JSONDecodeError:
return False
def get_text_from_file(url, as_array):
response = requests.get(url)
if response.status_code == 200:
response_string = response.content.decode('utf-8')
if as_array:
items = [item.strip() for item in response_string.split(',')]
return items
else:
if is_valid_json(response_string):
return json.loads(response_string)
else:
print(f'JSON in this url: {url} is not valid')
else:
print(f"Failed to download file. Status code: {response.status_code}")
def create_empty_file(name):
if os.path.exists(name):
print(f"File '{name}' already exists. Skipping download.")
else:
if name:
with open(name, 'w') as file:
pass
print(f"File {name} successfully created ")
nodes_url = "https://raw.githubusercontent.com/VisionExp/ve_comfy_custom_nodes_list/main/nodes_list.txt"
controlnet_url = "https://raw.githubusercontent.com/VisionExp/ve_comfy_custom_nodes_list/main/controlnet_list_for_thin.txt"
clip_vision_url = "https://raw.githubusercontent.com/VisionExp/ve_comfy_custom_nodes_list/main/clip_vision_list.txt"
loras_url = "https://raw.githubusercontent.com/VisionExp/ve_comfy_custom_nodes_list/main/loras_list.txt"
models_url = "https://raw.githubusercontent.com/VisionExp/ve_comfy_custom_nodes_list/main/models_list.txt"
upscale_models_url = "https://raw.githubusercontent.com/VisionExp/ve_comfy_custom_nodes_list/main/upscale_models_list.txt"
ip_adapter_url = "https://raw.githubusercontent.com/VisionExp/ve_comfy_custom_nodes_list/main/ip_adapter.txt"
custom_nodes_list = get_text_from_file(nodes_url, as_array=True)
controlnet_list = get_text_from_file(controlnet_url, as_array=True)
clip_vision_list = get_text_from_file(clip_vision_url, as_array=False)
loras_list = get_text_from_file(loras_url, as_array=False)
models_list = get_text_from_file(models_url, as_array=False)
upscale_models_list = get_text_from_file(upscale_models_url, as_array=False)
ip_adapter_list = get_text_from_file(ip_adapter_url, as_array=True)
script_root = os.path.dirname(os.path.abspath(__file__))
print(':::Loading custom nodes')
os.chdir(script_root)
os.chdir("custom_nodes")
for repo_url in custom_nodes_list:
subprocess.run(['git', 'clone', repo_url])
print(':::Loading controlnet models')
os.chdir(script_root)
os.chdir("models/controlnet")
if not os.path.exists('ControlNet-v1-1'):
os.mkdir('ControlNet-v1-1')
os.chdir('ControlNet-v1-1')
for filename in controlnet_list:
create_empty_file(filename)
print(':::Loading models')
os.chdir(script_root)
os.chdir("models/checkpoints")
for url, filename in models_list.items():
create_empty_file(filename)
print(':::Loading loras')
os.chdir(script_root)
os.chdir("models/loras")
for url, filename in loras_list.items():
create_empty_file(filename)
print(':::Loading upscale models')
os.chdir(script_root)
os.chdir("models/upscale_models")
for url, filename in upscale_models_list.items():
create_empty_file(filename)
print(':::Loading IPAdapter model')
os.chdir(script_root)
os.chdir('models')
if not os.path.exists('ipadapter'):
os.mkdir("ipadapter")
os.chdir("models/ipadapter")
for repo_url in ip_adapter_list:
subprocess.run(['git', 'clone', repo_url])
print(':::Loading CLIP Vision')
os.chdir(script_root)
os.chdir("models/clip_vision")
for url, filename in clip_vision_list.items():
create_empty_file(filename)