Source code for hvpy.api_groups.jpeg2000.get_jp2_image

from typing import Union
from datetime import datetime

from pydantic import Field, field_validator

from hvpy.datasource import DataSource
from hvpy.io import HvpyParameters, OutputType
from hvpy.utils import _data_source_to_int, convert_date_to_isoformat


[docs]class getJP2ImageInputParameters(HvpyParameters): """ Handles the input parameters of the ``getJP2Image`` API. .. {Shared} Attributes ---------- date Desired datetime of the JP2 image. sourceId Unique image datasource identifier. jpip Returns a JPIP URI instead of the binary data of the image if set to True. Default is `False`, optional. json Returns the JSON if set to `True`. Default is `False`, optional. References ---------- * `<https://api.helioviewer.org/docs/v2/api/api_groups/jpeg2000.html#getjp2image>`__ .. {Shared} """ date: datetime sourceId: Union[int, DataSource] jpip: bool = False Json: bool = Field(False, alias="json") _date_validator = field_validator("date")(convert_date_to_isoformat) _source_id_validator = field_validator("sourceId")(_data_source_to_int) def get_output_type(self) -> OutputType: """ Returns the output type of the API call. """ if self.Json and self.jpip: return OutputType.JSON elif not self.Json and self.jpip: return OutputType.STRING else: return OutputType.RAW