Files
Aislo/resources/knowledge/original/_pipeline/index_zip.py
T

45 lines
1.3 KiB
Python

# -*- coding: utf-8 -*-
"""[압축] 폴더마다 _목록.md 생성 — 내부 HWP→md 파일 트리 색인."""
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parent.parent
def build(folder):
mds = sorted(p for p in folder.rglob("*.md") if p.name != "_목록.md")
lines = [
f"# {folder.name} — 압축 해제 문서 목록",
"",
f"> 원본 zip을 해제해 HWP를 md로 변환. 총 {len(mds)}건.",
"",
]
# 하위 폴더 구조 반영
tree = {}
for m in mds:
rel = m.relative_to(folder)
parts = rel.parts
grp = "/".join(parts[:-1]) if len(parts) > 1 else ""
tree.setdefault(grp, []).append(m)
for grp in sorted(tree):
if grp:
lines.append(f"## {grp}")
lines.append("")
for m in tree[grp]:
rel = m.relative_to(folder).as_posix()
lines.append(f"- [{m.stem}](<{rel}>)")
lines.append("")
(folder / "_목록.md").write_text("\n".join(lines), encoding="utf-8")
return len(mds)
if __name__ == "__main__":
n = 0
for folder in ROOT.rglob("[[]압축[]]*"):
if folder.is_dir():
c = build(folder)
n += 1
print(f" {c:4d}건 {folder.name}")
print(f"\n압축 색인 {n}개 생성")