# -*- coding: utf-8 -*-
"""공공기관 N 이미지 몽타주 재판정 일괄: 각 기관 렌더+크기필터(nshot) → 이미지강등 적용(napply).
국토연구원은 이미 처리 → 스킵. 사용: python _공공기관_nbatch.py [기관명 ...]
"""
import sys, os, json, importlib.util


def load(mod):
    spec = importlib.util.spec_from_file_location(mod, rf'D:\01.프로젝트\DB수집\_스크립트\{mod}.py')
    m = importlib.util.module_from_spec(spec); spec.loader.exec_module(m)
    return m


nshot = load('_공공기관2_nshot')
napply = load('_공공기관2_napply')

probe = {r['name']: r for r in json.load(open(r'D:\01.프로젝트\DB수집\_스크립트\_공공기관2_probe.json', encoding='utf-8'))}
order = sorted(probe.values(), key=lambda x: -int(x['num']))
only = sys.argv[1:]
if only:
    order = [p for p in order if p['name'] in only or str(p['num']) in only]

DONE = {'국토연구원'}
for p in order:
    name = p['name']
    if name in DONE:
        print(f'[{name}] 이미 처리 — 스킵'); continue
    try:
        nshot.run(name)
        napply.run(name)
    except Exception as e:
        import traceback
        print(f'[{name}] 실패: {e}'); traceback.print_exc()
print('\n=== N이미지 몽타주 재판정 일괄 완료 ===')
