|
@@ -1,20 +1,30 @@
|
|
|
from PyPDF2 import PdfMerger
|
|
|
from pathlib import Path
|
|
|
+import re
|
|
|
+import json
|
|
|
|
|
|
|
|
|
-def main(base_dir: str, report_name):
|
|
|
- target = f"{base_dir}/{report_name}_gesamt.pdf"
|
|
|
- Path(target).unlink()
|
|
|
- pdfs = [f for f in Path(base_dir).glob(report_name + '_*.pdf')]
|
|
|
+def pdf_merge(base_dir: str, report_name):
|
|
|
+ report_prefix = re.sub(r'\[([^\]]+)\]', '', report_name)
|
|
|
+ target = f"{base_dir}\\{report_prefix}_0.pdf"
|
|
|
+ if Path(target).exists():
|
|
|
+ Path(target).unlink()
|
|
|
+ pdfs = [f for f in Path(base_dir).glob(report_prefix + '*.pdf')]
|
|
|
+ if len(pdfs) > 0:
|
|
|
+ with PdfMerger() as merger:
|
|
|
+ for pdf in sorted(pdfs, key=lambda f: f.stat().st_mtime):
|
|
|
+ merger.append(pdf)
|
|
|
+ merger.write(target)
|
|
|
|
|
|
- merger = PdfMerger()
|
|
|
|
|
|
- for pdf in pdfs:
|
|
|
- merger.append(pdf)
|
|
|
-
|
|
|
- merger.write(target)
|
|
|
- merger.close()
|
|
|
+def get_reports(config_dir, folder):
|
|
|
+ filename = config_dir + '\\reports.json'
|
|
|
+ reports = json.load(open(filename, 'r'))
|
|
|
+ return [r['name'] for r in reports if r['path'].startswith(folder)]
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
- main('C:\\GlobalCube\\ReportOutput', 'Z.07 Einzelbetrachtung_lfd_Monat')
|
|
|
+ reports = get_reports('C:\\GlobalCube\\Tasks\\gctools\\logs\\config', 'Team Content/ReportOutput')
|
|
|
+ for r in reports:
|
|
|
+ print(r)
|
|
|
+ pdf_merge('C:\\GlobalCube\\ReportOutput\\raw', r)
|