export: export

obd_diag.export.report

.. py:module:: obd_diag.export.report

PDF-Bericht und CSV einer Diagnosesitzung in der eingestellten Sprache (i18n).

CSV: eine Zeile pro Fehlercode, UTF-8 mit BOM; Trennzeichen auf Deutsch ;, auf Englisch ,. So öffnet Excel die Datei per Doppelklick richtig (Umlaute, Spalten); LibreOffice erkennt beides ebenfalls.

PDF: DIN A4 mit ReportLab (BSD-Lizenz). Schrift: eine eingebettete TrueType-Schrift des Systems (DejaVu Sans, Liberation Sans oder Noto Sans), damit der Bericht überall gleich aussieht; fehlen alle, Helvetica aus dem PDF-Standardumfang (WinAnsi, enthält Umlaute, € und Gedankenstrich, wird aber nicht eingebettet).

.. py:function:: csv_columns() :module: obd_diag.export.report

Kopfzeile der CSV in der eingestellten Sprache.

.. py:function:: export_csv(session, path) :module: obd_diag.export.report

Eine Zeile pro Fehlercode (Code, Art, Titel, …), UTF-8 mit BOM für Excel.

Trennzeichen ; (Deutsch) bzw. , (Englisch), Zeilenende CRLF. Mehrere Ursachen/Symptome stehen durch | getrennt in einer Zelle, die Wahrscheinlichkeit in Klammern. „Datum“ und „FIN“ wiederholen sich in jeder Zeile, damit sich CSVs mehrerer Sitzungen aneinanderhängen lassen. Ohne Fehlercodes enthält die Datei nur die Kopfzeile. „Dringlichkeit“ (services.urgency) steht zuletzt, damit ältere Auswertungen ihre Spalten behalten.

.. py:function:: find_font_files() :module: obd_diag.export.report

Normal- und Fettschnitt einer passenden TrueType-Schrift, sonst None.

.. py:function:: export_pdf(session, path) :module: obd_diag.export.report

Bericht: Fahrzeug, Adapter/Protokoll/Spannung, Fehlercodes mit Erklärung, Freeze Frame, Readiness, Gebrauchtwagen-Check. In der eingestellten Sprache, DIN A4.

Reihenfolge: Kopf, Fahrzeug und Verbindung, Kurzübersicht, Readiness, Gebrauchtwagen-Check, Fehlercodes nach Art, Freeze Frame, Steuergeräte (Mode 09), Testergebnisse (Mode 06). Fehlende Angaben stehen als „nicht verfügbar“.