mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
bdc7b8b75a
This PR fixes the following scripts: 1) Scripts that can be executed within the repo's scripts directory. Note that these are for development testing and are not intended to be exposed to the user. configure_invokeai.py - configuration dream.py - the legacy CLI images2prompt.py - legacy "dream prompt" retriever invoke-new.py - new nodes-based CLI invoke.py - the legacy CLI under another name make_models_markdown_table.py - a utility used during the release/doc process pypi_helper.py - another utility used during the release process sd-metadata.py - retrieve JSON-formatted metadata from a PNG file 2) Scripts that are installed by pip install. They get placed into the venv's PATH and are intended to be the official entry points: invokeai-node-cli - new nodes-based CLI invokeai-node-web - new nodes-based web server invokeai - legacy CLI invokeai-configure - install time configuration script invokeai-merge - model merging script invokeai-ti - textual inversion script invokeai-model-install - model installer invokeai-update - update script invokeai-metadata" - retrieve JSON-formatted metadata from PNG files
31 lines
968 B
Python
31 lines
968 B
Python
'''
|
|
This is a modularized version of the sd-metadata.py script,
|
|
which retrieves and prints the metadata from a series of generated png files.
|
|
'''
|
|
import sys
|
|
import json
|
|
from invokeai.backend.image_util import retrieve_metadata
|
|
|
|
|
|
def print_metadata():
|
|
if len(sys.argv) < 2:
|
|
print("Usage: file2prompt.py <file1.png> <file2.png> <file3.png>...")
|
|
print("This script opens up the indicated invoke.py-generated PNG file(s) and prints out their metadata.")
|
|
exit(-1)
|
|
|
|
filenames = sys.argv[1:]
|
|
for f in filenames:
|
|
try:
|
|
metadata = retrieve_metadata(f)
|
|
print(f'{f}:\n',json.dumps(metadata['sd-metadata'], indent=4))
|
|
except FileNotFoundError:
|
|
sys.stderr.write(f'{f} not found\n')
|
|
continue
|
|
except PermissionError:
|
|
sys.stderr.write(f'{f} could not be opened due to inadequate permissions\n')
|
|
continue
|
|
|
|
if __name__== '__main__':
|
|
print_metadata()
|
|
|