Source code for majis.itl.export
"""ITL export module."""
from pathlib import Path
from planetary_coverage.events import EventsDict, EventsList
from .csv import save_itl_csv
from .eps import save_itl_eps
from .json import save_itl_json
from .timeline import save_itl_xlsm
[docs]
def save_itl(
fout: str | Path | None,
*events: EventsList | EventsDict,
ref: str | dict | None = None,
overlap: bool = False,
**kwargs,
) -> Path:
"""Save ITL events to a new ITL file.
Note
----
By default, ITL blocks must not overlap each other.
This can be disable with ``overlap=True``.
"""
ext = Path(fout).suffix
match ext:
case '.itl':
return save_itl_eps(
fout,
*events,
ref=ref,
overlap=overlap,
**kwargs,
)
case '.json':
return save_itl_json(
fout,
*events,
ref=ref,
overlap=overlap,
**kwargs,
)
case '.csv':
return save_itl_csv(
fout,
*events,
ref=ref,
overlap=overlap,
**kwargs,
)
case '.xls' | '.xlsx' | '.xlsm':
return save_itl_xlsm(
fout,
*events,
ca_ref=ref,
overlap=overlap,
**kwargs,
)
case _:
raise NotImplementedError