def payload_to_formdata(cls, payload_dict):
        """Converts an forecast metadata dict into a form_data dict.

        Parameters
        ----------
        payload: dict
            API forecast metadata json repsonse as a dict.

        Returns
        -------
        dict
            A dictionary for filling out form fields where keys are input name
            attributes.
        """
        form_dict = {key: payload_dict[key] for key in cls.direct_keys}
        form_dict.update(utils.get_location_id(payload_dict))
        form_dict.update(
            utils.parse_hhmm_field_from_api(payload_dict, 'issue_time_of_day'))
        form_dict.update(
            utils.parse_timedelta_from_api(payload_dict, 'lead_time_to_start'))
        form_dict.update(
            utils.parse_timedelta_from_api(payload_dict, 'run_length'))
        form_dict.update(
            utils.parse_timedelta_from_api(payload_dict, 'interval_length'))
        return form_dict
    def payload_to_formdata(cls, payload_dict):
        """Converts an observation metadata dict into a form_data dict.

        Parameters
        ----------
        payload: dict
            API observation metadata json repsonse as a dict.

        Returns
        -------
        dict
            A dictionary for filling out form fields where keys are input name
            attributes.
        """
        form_dict = {key: payload_dict[key] for key in cls.direct_keys}
        form_dict.update(
            utils.parse_timedelta_from_api(payload_dict, 'interval_length'))
        return form_dict
    def payload_to_formdata(cls, payload_dict):
        """Converts an aggregate metadata dict into a form_data dict.

        Parameters
        ----------
        payload: dict
            API forecast metadata json repsonse as a dict.

        Returns
        -------
        dict
            A dictionary for filling out form fields where keys are input name
            attributes.

        Notes
        -----
            This function fills the aggregate ceation form and does not copy
            its corresponding observation.
        """
        form_dict = {key: payload_dict[key] for key in cls.direct_keys}
        form_dict.update(
            utils.parse_timedelta_from_api(payload_dict, 'interval_length'))
        return form_dict
Ejemplo n.º 4
0
def test_parse_timedelta_from_api(data, root, expected):
    assert utils.parse_timedelta_from_api(data, root) == expected