32 lines
1.5 KiB
Python
32 lines
1.5 KiB
Python
import subprocess,json,pathlib
|
|
def run(*a):return subprocess.check_output(a,text=True,stderr=subprocess.STDOUT)
|
|
for name in ('comfyui','h3-caption-gpu3-canary-8a5f'):
|
|
d=json.loads(run('docker','inspect',name))[0]
|
|
print(name,'entrypoint',d['Config']['Entrypoint'],'restart',d['HostConfig']['RestartPolicy'])
|
|
code="""import pathlib,json
|
|
p=pathlib.Path('/app/custom_nodes')
|
|
print('plugins',[(x.name, x.is_dir()) for x in p.iterdir() if not x.name.startswith('.')])
|
|
for name in ('ComfyUI-VDN-H3','comfyui-SelfLift','ComfyUI-MMH3Tools','Comfyui_Minimax_h3_latent_Upscaler'):
|
|
d=p/name
|
|
print(name,'exists',d.exists())
|
|
for req in ('requirements.txt','pyproject.toml'):
|
|
f=d/req
|
|
if f.exists(): print(name,req,f.read_text()[:2500])
|
|
"""
|
|
print(run('docker','exec',name,'python','-c',code))
|
|
code="""import asyncio,httpx,json,app
|
|
async def main():
|
|
async with httpx.AsyncClient(timeout=20) as c:
|
|
graph=json.load(open('/app/workflows/vdn_hd.json'))
|
|
for p in app.providers().values():
|
|
objects=(await c.get(p.base_url+'/object_info',headers=app.provider_headers(p))).json()
|
|
queue=(await c.get(p.base_url+'/queue',headers=app.provider_headers(p))).json()
|
|
print(p.id, 'missing', sorted({v['class_type'] for v in graph.values()}-objects.keys()), 'queue', {k:[x[1] for x in queue.get(k,[])] for k in ('queue_running','queue_pending')})
|
|
for name in ('providers','admission_ids','create_job'):
|
|
import inspect
|
|
try: print(inspect.getsource(getattr(app,name)))
|
|
except: pass
|
|
asyncio.run(main())
|
|
"""
|
|
print(run('docker','exec','huobao-vdn-normalizer','python','-c',code))
|