# sec_interp.core.services.export_service module

Export service for SecInterp.

This module provides a service to orchestrate all export operations, including data (Shapefile, CSV) and preview (PNG, PDF, SVG) exports.

class sec_interp.core.services.export_service.ExportService(controller: Any | None = None)

  Bases: `object`

  Service to orchestrate all export operations.

  __init__(controller: Any | None = None) → None

    Initialize the export service.

    Parameters:

      controller – Optional reference to ProfileController for data access.

  export_data(output_folder: Path, params: PreviewParams, profile_data: list[tuple], geol_data: list[Any] | None, struct_data: list[Any] | None, drillhole_data: list[Any] | None = None, interp_data: list[Any] | None = None, export_options: dict[str, bool] | None = None) → list[str]

    Export generated data to CSV and Shapefile formats.

    Parameters:

      - output_folder – Destination directory for all exported files.

      - params – Correctly validated parameters for the export run.

      - profile_data – Topographic profile points (dist, elevation).

      - geol_data – List of GeologySegment objects.

      - struct_data – List of StructureMeasurement objects.

      - drillhole_data – Optional list of drillhole data.

      - interp_data – Optional list of InterpretationPolygon objects.

      - export_options – Dictionary of flags ‘exp_topo’, ‘exp_geol’, etc.

  get_map_settings(layers: list[Any], extent: qgis.core.QgsRectangle, size: Any | None, background_color: Any) → qgis.core.QgsMapSettings

    Create and configure QgsMapSettings for canvas or image export.

    Parameters:

      - layers – List of map layers to be rendered.

      - extent – The spatial extent (bounding box) of the view.

      - size – Optional output size in pixels (QSize).

      - background_color – The background color for the render (QColor).

    Returns:

      A configured QgsMapSettings instance ready for rendering.

  tr(message: str) → str

    Translate a message using QCoreApplication.