| |
|
|
| |
| |
|
|
| import os |
| from subprocess import Popen, PIPE, STDOUT |
|
|
|
|
| def pull_path(path): |
| p = Popen(["git", "-C", path, "pull"], stdout=PIPE, stderr=STDOUT) |
| output, error = p.communicate() |
| return output.decode() |
|
|
| THIS_DIR=os.path.dirname(os.path.abspath(__file__)) |
|
|
| def show_output(output): |
| if output.startswith('Already up to date'): |
| print(f' \33[32m🗸 {output}\33[0m', end ='') |
| elif output.startswith('error:'): |
| print(f' \33[31m🞫 Error.\33[0m \n {output}') |
| else: |
| print(f' \33[33m🡅 Needs update.\33[0m \n {output}', end='') |
|
|
|
|
| os.chdir(THIS_DIR) |
| os.chdir("../") |
|
|
| |
| custom_extensions = [] |
| custom_extensions_name_max = 0 |
| for directory in os.listdir(os.getcwd()): |
| if os.path.isdir(directory) and directory != "__pycache__": |
| custom_extensions.append({ |
| 'directory': directory |
| }) |
| if len(directory) > custom_extensions_name_max: |
| custom_extensions_name_max = len(directory) |
|
|
| if len(custom_extensions) == 0: |
| custom_extensions_name_max = 15 |
| else: |
| custom_extensions_name_max += 6 |
|
|
| |
| label = "{0:.<{max}}".format('Updating ComfyUI ', max=custom_extensions_name_max) |
| print(label, end = '') |
| show_output(pull_path('../')) |
|
|
| |
| if len(custom_extensions) > 0: |
| print(f'\nUpdating custom_nodes ({len(custom_extensions)}):') |
| for custom_extension in custom_extensions: |
| directory = custom_extension['directory'] |
| label = "{0:.<{max}}".format(f'🗀 {directory} ', max=custom_extensions_name_max) |
| print(label, end = '') |
| show_output(pull_path(directory)) |
|
|