ezgpx.writers package

Submodules

ezgpx.writers.gpx_writer module

This module contains the GPXWriter class.

class ezgpx.writers.gpx_writer.GPXWriter(gpx: GPXLike)[source]

Bases: Writer

GPX file writer.

add_bounds(element: Element, bounds: Bounds) Element[source]

Add Bounds instance to GPX element.

Args:

element (ET.Element): GPX element. bounds (Bounds): Bounds instance to add.

Returns:

xml.etree.ElementTree.Element: GPX element.

Add Copyright instance element to GPX element.

Args:

element (ET.Element): GPX element. copyright (Copyright): Copyright instance to add.

Returns:

xml.etree.ElementTree.Element: GPX element.

add_email(element: Element, email: Email) Element[source]

Add Email instance element to GPX element.

Args:

element (ET.Element): GPX element. email (Email): Email instance to add.

Returns:

xml.etree.ElementTree.Element: GPX element.

add_extensions(element: Element, extensions: Extensions, extensions_fields: dict) Element[source]

Add Extensions instance element to GPX element.

Args:

element (ET.Element): GPX element. extensions (Extensions): Extensions instance to add. extensions_fields (dict): Extensions fields to add.

Returns:

ET.Element: GPX element.

Add Link instance element to GPX element.

Args:

element (ET.Element): GPX element. link (Link): Link instance to add.

Returns:

xml.etree.ElementTree.Element: GPX element.

add_metadata(element: Element, metadata: Metadata) Element[source]

Add Metadata instance element to GPX element.

Args:

element (ET.Element): GPX element. metadata (Metadata): Metadata instance to add.

Returns:

xml.etree.ElementTree.Element: GPX element.

add_person(element: Element, person: Person) Element[source]

Add Person instance element to GPX element.

Args:

element (ET.Element): GPX element. person (Person): Person instance to add.

Returns:

xml.etree.ElementTree.Element: GPX element.

add_pt(element: Element, pt: Pt) Element[source]

Add Pt instance element to GPX element.

Args:

element (ET.Element): GPX element. pt (Pt): Pt instance to add.

Returns:

xml.etree.ElementTree.Element: GPX element.

add_ptseg(element: Element, pt_segment: Ptseg) Element[source]

Add Ptseg instance element to GPX element.

Args:

element (ET.Element): GPX element. pt_segment (Ptseg): Ptseg instance to add.

Returns:

xml.etree.ElementTree.Element: GPX element.

add_root_properties() None[source]

Add properties to the GPX root element and register name spaces.

add_rte(element: Element, rte: Rte) Element[source]

Add Rte instance element to GPX element.

Args:

element (ET.Element): GPX element. rte (Rte): Rte instance to add.

Returns:

xml.etree.ElementTree.Element: GPX element.

add_trk(element: Element, trk: Trk) Element[source]

Add Trk instance element to GPX element.

Args:

element (ET.Element): GPX element. trk (Trk): Trk instance to add.

Returns:

xml.etree.ElementTree.Element: GPX element.

add_trkpt(element: Element, wpt: Wpt) Element[source]

Add Wpt instance (with trkpt tag) element to GPX element.

Args:

element (ET.Element): GPX element. wpt (Wpt): Wpt instance to add.

Returns:

xml.etree.ElementTree.Element: GPX element.

add_trkseg(element: Element, trkseg: Trkseg) Element[source]

Add Trkseg instance element to GPX element.

Args:

element (ET.Element): GPX element. trkseg (Trkseg): Trkseg instance to add.

Returns:

xml.etree.ElementTree.Element: GPX element.

add_wpt(element: Element, wpt: Wpt) Element[source]

Add Wpt instance element to GPX element.

Args:

element (ET.Element): GPX element. wpt (Wpt): Wpt instance to add.

Returns:

xml.etree.ElementTree.Element: GPX element.

gpx_to_string() str | None[source]

Convert Gpx instance to a string (the content of a .gpx file).

Returns:

str | None: String corresponding to the Gpx instance.

placeholder_method(element, subelement)[source]

Placeholder function for adding subelement to element in XML tree.

write(file_path: str, *, bounds_fields: list[str] | None = None, copyright_fields: list[str] | None = None, email_fields: list[str] | None = None, extensions_fields: dict | None = None, gpx_fields: list[str] | None = None, link_fields: list[str] | None = None, metadata_fields: list[str] | None = None, person_fields: list[str] | None = None, ptseg_fields: list[str] | None = None, pt_fields: list[str] | None = None, rte_fields: list[str] | None = None, trkseg_fields: list[str] | None = None, trk_fields: list[str] | None = None, wpt_fields: list[str] | None = None, trkpt_fields: list[str] | None = None, mandatory_fields: bool = True) None[source]

TODO

ezgpx.writers.gpx_writer_method_behavior_creator module

ezgpx.writers.kml_writer module

This module contains the KMLWriter class.

class ezgpx.writers.kml_writer.KMLWriter(gpx: GPXLike = None, *, properties: bool = True, metadata: bool = True, waypoints: bool = True, routes: bool = True, extensions: bool = True, ele: bool = True, time: bool = True, styles: list[tuple[str, dict]] = None)[source]

Bases: Writer

KML file writer.

add_document(element: Element) Element[source]

Add Document to KML element.

Args:

element (ET.Element): KML element.

Returns:

ET.Element: KML element.

add_linestring(element: Element) Element[source]

Add LineString to KML element.

Args:

element (ET.Element): KML element.

Returns:

ET.Element: KML element.

add_linestyle(element: Element, style: dict) Element[source]

Add LineStyle to KML element.

Args:

element (ET.Element): KML element. style (dict): Style.

Returns:

ET.Element: KML element.

add_pair(element: Element, key: str, style_url: str) Element[source]

Add StyleMap to KML element.

Args:

element (ET.Element): KML element. key (str): Key. style_url (str): Style URL.

Returns:

ET.Element: KML element.

add_placemark(element: Element) Element[source]

Add Placemark to KML element.

Args:

element (ET.Element): KML element.

Returns:

ET.Element: KML element.

add_polystyle(element: Element, style: dict) Element[source]

Add PolyStyle to KML element.

Args:

element (ET.Element): KML element. style (dict): Style.

Returns:

ET.Element: KML element.

add_root_document() None[source]

Add Document element to the KML root element.

add_root_properties() None[source]

Add properties to the GPX root element.

add_style(element: Element, id: str, style: dict) Element[source]

Add Style to KML element.

Args:

element (ET.Element): KML element. id (str): Style element id. style (dict): Line style.

Returns:

ET.Element: KML element.

add_stylemap(element: Element, id_: str) Element[source]

Add StyleMap to KML element.

Args:

element (ET.Element): KML element. id_ (str): StyleMap element id.

Returns:

ET.Element: KML element.

gpx_to_string() str | None[source]

Convert Gpx instance to a string (the content of a .kml file).

Returns:

str | None: String corresponding to the Gpx instance.

write(file_path: str, styles: list[tuple[str, dict]] | None = None) None[source]

Handle writing.

Args:

file_path (str): Path to write the KML file. styles (Optional[list[tuple[str, dict]]], optional): List of

(style_id, style) tuples. Defaults to None.

Returns:
bool: Return True if written file follows checked schemas,

False otherwise.

write_gpx()[source]

Convert Gpx instance to string and write to .kml file.

ezgpx.writers.writer module

This module contains the Writer class.

class ezgpx.writers.writer.GPXLike(*args, **kwargs)[source]

Bases: Protocol

Protocol for GPX objects.

class ezgpx.writers.writer.Writer(gpx: GPXLike)[source]

Bases: object

File writer.

add_subelement(element: Element, sub_element: str, text: str) tuple[Element, Element | None][source]

Add sub-element to GPX element.

Args:

element (ET.Element): GPX element. sub_element (str): GPX sub-element. text (str): GPX sub-element text.

Returns:
tuple[ET.Element, ET.Element | None]: GPX element and

GPX sub-element (if not None).

add_subelement_number(element: Element, sub_element: str, number: int | float, precision: int = 10) tuple[Element, Element | None][source]

Add sub-element to GPX element.

Args:

element (ET.Element): GPX element. sub_element (str): GPX sub-element. number (int | float, optional): GPX sub-element value. precision (int, optional): Precision. Defaults to DEFAULT_PRECISION.

Returns:
tuple[ET.Element, ET.Element | None]: GPX element and

GPX sub-element (if not None).

add_subelement_time(element: Element, sub_element: str, time: datetime, format_: str = '%Y-%m-%dT%H:%M:%SZ') tuple[Element, Element | None][source]

Add sub-element to GPX element.

Args:

element (ET.Element): GPX element. sub_element (str): GPX sub-element. time (datetime, optional): GPX sub-element value. format (str, optional): Format. Defaults to DEFAULT_TIME_FORMAT.

Returns:
tuple[ET.Element, ET.Element | None]: GPX element and

GPX sub-element (if not None).

get_value(attribute: Any) Any | None[source]

Safely get attribute value.

set_not_none(element: Element, field: str, value)[source]

TODO

Args:

element (ET.Element): _description_ field (str): _description_ value (_type_): _description_

Module contents