Example #1
0
    def validate_array(array):
        """
        Builds a new array with valid values for the InputMediaAudio constructor.

        :return: new array with valid values
        :rtype: dict
        """
        assert_type_or_raise(array, dict, parameter_name="array")
        from pytgbot.api_types.sendable.files import InputFile

        data = InputMediaWithThumb.validate_array(array)
        data['type'] = u(array.get('type'))
        data['media'] = u(array.get('media'))
        if array.get('thumb') is None:
            data['thumb'] = None
        elif isinstance(array.get('thumb'), InputFile):
            data['thumb'] = InputFile.from_array(array.get('thumb'))
        elif isinstance(array.get('thumb'), str):
            data['thumb'] = u(array.get('thumb'))
        else:
            raise TypeError(
                'Unknown type, must be one of InputFile, str or None.')
        # end ifdata['caption'] = u(array.get('caption')) if array.get('caption') is not None else None
        data['parse_mode'] = u(array.get('parse_mode')) if array.get(
            'parse_mode') is not None else None
        data['duration'] = int(array.get('duration')) if array.get(
            'duration') is not None else None
        data['performer'] = u(array.get('performer')) if array.get(
            'performer') is not None else None
        data['title'] = u(
            array.get('title')) if array.get('title') is not None else None
Example #2
0
    def from_array(array):
        """
        Deserialize a new InputMediaDocument from a given dictionary.

        :return: new InputMediaDocument instance.
        :rtype: InputMediaDocument
        """
        if array is None or not array:
            return None
        # end if
        assert_type_or_raise(array, dict, parameter_name="array")
        from pytgbot.api_types.sendable.files import InputFile

        data = {}
        data['type'] = u(array.get('type'))
        data['media'] = u(array.get('media'))
        if array.get('thumb') is None:
            data['thumb'] = None
        elif isinstance(array.get('thumb'), InputFile):
            data['thumb'] = InputFile.from_array(array.get('thumb'))
        elif isinstance(array.get('thumb'), str):
            data['thumb'] = u(array.get('thumb'))
        else:
            raise TypeError(
                'Unknown type, must be one of InputFile, str or None.')
        # end if
        data['caption'] = u(
            array.get('caption')) if array.get('caption') is not None else None
        data['parse_mode'] = u(array.get('parse_mode')) if array.get(
            'parse_mode') is not None else None

        instance = InputMediaDocument(**data)
        instance._raw = array
        return instance