53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
import sys
|
|
from pathlib import Path
|
|
from datetime import date
|
|
import logging
|
|
logging.basicConfig(level=logging.INFO)
|
|
|
|
# Add monorepo-cli src to path
|
|
sys.path.insert(0, "/home/andre/coden/Orchestrator/shared/tools/monorepo-cli/src")
|
|
|
|
try:
|
|
from monorepo.knowledge.sources.pdf import PDFSource
|
|
from monorepo.knowledge.sources.docx import DocxSource
|
|
from monorepo.knowledge.sources.base import SourceConfig
|
|
except ImportError as e:
|
|
print(f"Import error: {e}")
|
|
sys.exit(1)
|
|
|
|
target_dir = Path("/home/andre/coden/Orchestrator/privat/CV/andreknie.de/content/kniepunkt/")
|
|
target_dir.mkdir(parents=True, exist_ok=True)
|
|
|
|
source_dir = Path("/home/andre/coden/Kniepunkt/KNIEPUNKTe")
|
|
|
|
print("Extracting PDFs...")
|
|
pdf_source = PDFSource()
|
|
pdf_config = SourceConfig(name="pdf_kniepunkte", type="pdf", params={"directory": str(source_dir)})
|
|
pdf_result = pdf_source.extract(pdf_config, "privat")
|
|
|
|
print("Extracting DOCXs...")
|
|
docx_source = DocxSource()
|
|
docx_config = SourceConfig(name="docx_kniepunkte", type="docx", params={"directory": str(source_dir)})
|
|
docx_result = docx_source.extract(docx_config, "privat")
|
|
|
|
artifacts = pdf_result.artifacts + docx_result.artifacts
|
|
|
|
print(f"Extracted {len(artifacts)} artifacts.")
|
|
|
|
for artifact in artifacts:
|
|
title = artifact.metadata.title
|
|
content = artifact.content
|
|
|
|
fm = f"---\ntitle: \"{title}\"\ndate: {date.today().isoformat()}\n---\n\n"
|
|
|
|
# Safe filename
|
|
safe_title = "".join(c for c in title if c.isalnum() or c in " -_").strip().replace(" ", "-")
|
|
if not safe_title:
|
|
safe_title = artifact.file_path.stem
|
|
|
|
target_path = target_dir / f"{safe_title}.md"
|
|
target_path.write_text(fm + content, encoding="utf-8")
|
|
print(f"Written {target_path}")
|
|
|
|
print("Done.")
|