Miscellaneous API#

Time miscellaneous module.

majis.misc.time.fmt_datetime(*times: str | datetime64, ref: str | dict | tuple | None = None) str | list[str][source]#

Format relative datetime for a time or a list of times.

majis.misc.time.fmt_timedelta(dt: timedelta64) str[source]#

Format time delta.

majis.misc.time.get_datetime(time: str, refs: dict | str | list | None = None) datetime64[source]#

Datetime getter.

Events module.

majis.misc.events.concatenate(*events: EventsList | EventsDict, flat: bool = False, overlap: bool = False) EventsList | EventsDict[source]#

Concatenate ITL events.

Note

By default, concatenated blocks must not overlap each other. This can be disable with overlap=True.

majis.misc.events.flatten(events: tuple | list | EventsList | EventsDict | AbstractEvent) EventsList[source]#

Flatten multi events object.

majis.misc.events.flatten_events(func)[source]#

Events flatten decorator.

Mainly used as a prolog before saving files.

majis.misc.events.group(events: tuple | list | EventsList | EventsDict) EventsDict[source]#

Group events by observation name.

Event file miscellaneous module.

majis.misc.evf.read_evf(fname: Path | str | list | None, comment: str = '#') dict | None[source]#

Read and extract EVF references and times.

majis.misc.evf.ref_count(key: str) tuple[str, int][source]#

Extract reference name and count from EVF key.

majis.misc.evf.ref_key(ref: str | dict | tuple) tuple[str, datetime][source]#

Format relative datetime reference key.

File export miscellaneous module.

majis.misc.export.save_file(fout: str | Path | None, content: list | dict, suffix: str | None = None) Path | list | dict[source]#

Save content to file.

Raises:

ValueError – If the provided extension suffix don’t match the one in the filename.