neue script, check file age
This commit is contained in:
70
Scripts/python/md_to_pdf_recursive.py
Normal file
70
Scripts/python/md_to_pdf_recursive.py
Normal file
@@ -0,0 +1,70 @@
|
||||
"""
|
||||
Használati útmutató / Usage:
|
||||
|
||||
1. Telepítés / Installation:
|
||||
pip install markdown-pdf
|
||||
|
||||
2. Futtatás / Execution:
|
||||
- Aktuális könyvtár bejárása:
|
||||
python Scripts/python/md_to_pdf_recursive.py
|
||||
- Konkrét könyvtár megadása:
|
||||
python Scripts/python/md_to_pdf_recursive.py Dev/APS-SFTP01
|
||||
|
||||
A script rekurzívan végigjárja a megadott könyvtárat, és minden .md fájl mellé
|
||||
létrehoz egy azonos nevű .pdf fájlt. A .git, .venv és __pycache__ könyvtárakat kihagyja.
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
from markdown_pdf import Section, MarkdownPdf
|
||||
|
||||
def convert_md_to_pdf(root_dir):
|
||||
"""
|
||||
Rekurzívan végigjárja a megadott könyvtárat és minden .md fájlból PDF-et készít.
|
||||
"""
|
||||
print(f"Keresés indítása a következő könyvtárban: {root_dir}")
|
||||
|
||||
# Kizárandó könyvtárak (pl. git, virtuális környezet)
|
||||
exclude_dirs = {'.git', '.venv', '__pycache__', 'node_modules'}
|
||||
|
||||
count = 0
|
||||
for root, dirs, files in os.walk(root_dir):
|
||||
# Alkönyvtárak szűrése (helyben módosítva a dirs listát)
|
||||
dirs[:] = [d for d in dirs if d not in exclude_dirs]
|
||||
|
||||
for file in files:
|
||||
if file.endswith(".md"):
|
||||
md_path = os.path.join(root, file)
|
||||
pdf_path = os.path.splitext(md_path)[0] + ".pdf"
|
||||
|
||||
print(f"Konvertálás: {md_path} -> {pdf_path}")
|
||||
|
||||
try:
|
||||
# Markdown olvasása
|
||||
with open(md_path, "r", encoding="utf-8") as f:
|
||||
md_content = f.read()
|
||||
|
||||
# PDF generálása
|
||||
pdf = MarkdownPdf(toc_level=2)
|
||||
pdf.add_section(Section(md_content, toc=False))
|
||||
pdf.save(pdf_path)
|
||||
|
||||
count += 1
|
||||
except Exception as e:
|
||||
print(f"Hiba a fájl feldolgozása közben ({md_path}): {e}")
|
||||
|
||||
print(f"\nKész! Összesen {count} fájl lett konvertálva.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Ha nincs megadva útvonal, az aktuális könyvtárat használja
|
||||
target_path = sys.argv[1] if len(sys.argv) > 1 else "."
|
||||
|
||||
# Ellenőrizzük a függőséget
|
||||
try:
|
||||
import markdown_pdf
|
||||
except ImportError:
|
||||
print("Hiba: A 'markdown-pdf' könyvtár nincs telepítve.")
|
||||
print("Telepítés: pip install markdown-pdf")
|
||||
sys.exit(1)
|
||||
|
||||
convert_md_to_pdf(target_path)
|
||||
Reference in New Issue
Block a user