# coding: utf-8

"""
    i18n_openapi

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

    OpenAPI spec version: common-version
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


import pprint
import re  # noqa: F401

import six

from volcenginesdkcore.configuration import Configuration


class TaskInfoForVideoProjectSerialDubTaskCreateInput(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """

    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'ai_remove_type': 'str',
        'asr_model': 'int',
        'bgm_policy': 'int',
        'comment': 'str',
        'deadline': 'int',
        'drama_cover_url': 'str',
        'drama_description': 'str',
        'drama_title': 'str',
        'is_dub': 'bool',
        'need_translate_cover': 'bool',
        'need_translate_desc': 'bool',
        'need_translate_title': 'bool',
        'need_translate_title_and_desc': 'bool',
        'serial_number': 'int',
        'source_lang': 'str',
        'suppression_params': 'SuppressionParamsForVideoProjectSerialDubTaskCreateInput',
        'target_langs': 'list[str]',
        'target_style_map': 'TargetStyleMapForVideoProjectSerialDubTaskCreateInput',
        'task_name': 'str',
        'use_mt': 'bool'
    }

    attribute_map = {
        'ai_remove_type': 'aiRemoveType',
        'asr_model': 'asrModel',
        'bgm_policy': 'bgmPolicy',
        'comment': 'comment',
        'deadline': 'deadline',
        'drama_cover_url': 'dramaCoverUrl',
        'drama_description': 'dramaDescription',
        'drama_title': 'dramaTitle',
        'is_dub': 'isDub',
        'need_translate_cover': 'needTranslateCover',
        'need_translate_desc': 'needTranslateDesc',
        'need_translate_title': 'needTranslateTitle',
        'need_translate_title_and_desc': 'needTranslateTitleAndDesc',
        'serial_number': 'serialNumber',
        'source_lang': 'sourceLang',
        'suppression_params': 'suppressionParams',
        'target_langs': 'targetLangs',
        'target_style_map': 'targetStyleMap',
        'task_name': 'taskName',
        'use_mt': 'useMT'
    }

    def __init__(self, ai_remove_type=None, asr_model=None, bgm_policy=None, comment=None, deadline=None, drama_cover_url=None, drama_description=None, drama_title=None, is_dub=None, need_translate_cover=None, need_translate_desc=None, need_translate_title=None, need_translate_title_and_desc=None, serial_number=None, source_lang=None, suppression_params=None, target_langs=None, target_style_map=None, task_name=None, use_mt=None, _configuration=None):  # noqa: E501
        """TaskInfoForVideoProjectSerialDubTaskCreateInput - a model defined in Swagger"""  # noqa: E501
        if _configuration is None:
            _configuration = Configuration()
        self._configuration = _configuration

        self._ai_remove_type = None
        self._asr_model = None
        self._bgm_policy = None
        self._comment = None
        self._deadline = None
        self._drama_cover_url = None
        self._drama_description = None
        self._drama_title = None
        self._is_dub = None
        self._need_translate_cover = None
        self._need_translate_desc = None
        self._need_translate_title = None
        self._need_translate_title_and_desc = None
        self._serial_number = None
        self._source_lang = None
        self._suppression_params = None
        self._target_langs = None
        self._target_style_map = None
        self._task_name = None
        self._use_mt = None
        self.discriminator = None

        if ai_remove_type is not None:
            self.ai_remove_type = ai_remove_type
        if asr_model is not None:
            self.asr_model = asr_model
        if bgm_policy is not None:
            self.bgm_policy = bgm_policy
        if comment is not None:
            self.comment = comment
        if deadline is not None:
            self.deadline = deadline
        if drama_cover_url is not None:
            self.drama_cover_url = drama_cover_url
        if drama_description is not None:
            self.drama_description = drama_description
        if drama_title is not None:
            self.drama_title = drama_title
        if is_dub is not None:
            self.is_dub = is_dub
        if need_translate_cover is not None:
            self.need_translate_cover = need_translate_cover
        if need_translate_desc is not None:
            self.need_translate_desc = need_translate_desc
        if need_translate_title is not None:
            self.need_translate_title = need_translate_title
        if need_translate_title_and_desc is not None:
            self.need_translate_title_and_desc = need_translate_title_and_desc
        if serial_number is not None:
            self.serial_number = serial_number
        if source_lang is not None:
            self.source_lang = source_lang
        if suppression_params is not None:
            self.suppression_params = suppression_params
        if target_langs is not None:
            self.target_langs = target_langs
        if target_style_map is not None:
            self.target_style_map = target_style_map
        if task_name is not None:
            self.task_name = task_name
        if use_mt is not None:
            self.use_mt = use_mt

    @property
    def ai_remove_type(self):
        """Gets the ai_remove_type of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The ai_remove_type of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: str
        """
        return self._ai_remove_type

    @ai_remove_type.setter
    def ai_remove_type(self, ai_remove_type):
        """Sets the ai_remove_type of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param ai_remove_type: The ai_remove_type of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: str
        """

        self._ai_remove_type = ai_remove_type

    @property
    def asr_model(self):
        """Gets the asr_model of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The asr_model of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: int
        """
        return self._asr_model

    @asr_model.setter
    def asr_model(self, asr_model):
        """Sets the asr_model of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param asr_model: The asr_model of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: int
        """

        self._asr_model = asr_model

    @property
    def bgm_policy(self):
        """Gets the bgm_policy of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The bgm_policy of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: int
        """
        return self._bgm_policy

    @bgm_policy.setter
    def bgm_policy(self, bgm_policy):
        """Sets the bgm_policy of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param bgm_policy: The bgm_policy of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: int
        """

        self._bgm_policy = bgm_policy

    @property
    def comment(self):
        """Gets the comment of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The comment of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: str
        """
        return self._comment

    @comment.setter
    def comment(self, comment):
        """Sets the comment of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param comment: The comment of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: str
        """

        self._comment = comment

    @property
    def deadline(self):
        """Gets the deadline of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The deadline of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: int
        """
        return self._deadline

    @deadline.setter
    def deadline(self, deadline):
        """Sets the deadline of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param deadline: The deadline of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: int
        """

        self._deadline = deadline

    @property
    def drama_cover_url(self):
        """Gets the drama_cover_url of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The drama_cover_url of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: str
        """
        return self._drama_cover_url

    @drama_cover_url.setter
    def drama_cover_url(self, drama_cover_url):
        """Sets the drama_cover_url of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param drama_cover_url: The drama_cover_url of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: str
        """

        self._drama_cover_url = drama_cover_url

    @property
    def drama_description(self):
        """Gets the drama_description of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The drama_description of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: str
        """
        return self._drama_description

    @drama_description.setter
    def drama_description(self, drama_description):
        """Sets the drama_description of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param drama_description: The drama_description of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: str
        """

        self._drama_description = drama_description

    @property
    def drama_title(self):
        """Gets the drama_title of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The drama_title of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: str
        """
        return self._drama_title

    @drama_title.setter
    def drama_title(self, drama_title):
        """Sets the drama_title of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param drama_title: The drama_title of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: str
        """

        self._drama_title = drama_title

    @property
    def is_dub(self):
        """Gets the is_dub of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The is_dub of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: bool
        """
        return self._is_dub

    @is_dub.setter
    def is_dub(self, is_dub):
        """Sets the is_dub of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param is_dub: The is_dub of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: bool
        """

        self._is_dub = is_dub

    @property
    def need_translate_cover(self):
        """Gets the need_translate_cover of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The need_translate_cover of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: bool
        """
        return self._need_translate_cover

    @need_translate_cover.setter
    def need_translate_cover(self, need_translate_cover):
        """Sets the need_translate_cover of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param need_translate_cover: The need_translate_cover of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: bool
        """

        self._need_translate_cover = need_translate_cover

    @property
    def need_translate_desc(self):
        """Gets the need_translate_desc of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The need_translate_desc of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: bool
        """
        return self._need_translate_desc

    @need_translate_desc.setter
    def need_translate_desc(self, need_translate_desc):
        """Sets the need_translate_desc of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param need_translate_desc: The need_translate_desc of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: bool
        """

        self._need_translate_desc = need_translate_desc

    @property
    def need_translate_title(self):
        """Gets the need_translate_title of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The need_translate_title of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: bool
        """
        return self._need_translate_title

    @need_translate_title.setter
    def need_translate_title(self, need_translate_title):
        """Sets the need_translate_title of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param need_translate_title: The need_translate_title of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: bool
        """

        self._need_translate_title = need_translate_title

    @property
    def need_translate_title_and_desc(self):
        """Gets the need_translate_title_and_desc of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The need_translate_title_and_desc of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: bool
        """
        return self._need_translate_title_and_desc

    @need_translate_title_and_desc.setter
    def need_translate_title_and_desc(self, need_translate_title_and_desc):
        """Sets the need_translate_title_and_desc of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param need_translate_title_and_desc: The need_translate_title_and_desc of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: bool
        """

        self._need_translate_title_and_desc = need_translate_title_and_desc

    @property
    def serial_number(self):
        """Gets the serial_number of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The serial_number of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: int
        """
        return self._serial_number

    @serial_number.setter
    def serial_number(self, serial_number):
        """Sets the serial_number of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param serial_number: The serial_number of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: int
        """

        self._serial_number = serial_number

    @property
    def source_lang(self):
        """Gets the source_lang of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The source_lang of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: str
        """
        return self._source_lang

    @source_lang.setter
    def source_lang(self, source_lang):
        """Sets the source_lang of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param source_lang: The source_lang of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: str
        """

        self._source_lang = source_lang

    @property
    def suppression_params(self):
        """Gets the suppression_params of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The suppression_params of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: SuppressionParamsForVideoProjectSerialDubTaskCreateInput
        """
        return self._suppression_params

    @suppression_params.setter
    def suppression_params(self, suppression_params):
        """Sets the suppression_params of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param suppression_params: The suppression_params of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: SuppressionParamsForVideoProjectSerialDubTaskCreateInput
        """

        self._suppression_params = suppression_params

    @property
    def target_langs(self):
        """Gets the target_langs of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The target_langs of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: list[str]
        """
        return self._target_langs

    @target_langs.setter
    def target_langs(self, target_langs):
        """Sets the target_langs of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param target_langs: The target_langs of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: list[str]
        """

        self._target_langs = target_langs

    @property
    def target_style_map(self):
        """Gets the target_style_map of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The target_style_map of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: TargetStyleMapForVideoProjectSerialDubTaskCreateInput
        """
        return self._target_style_map

    @target_style_map.setter
    def target_style_map(self, target_style_map):
        """Sets the target_style_map of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param target_style_map: The target_style_map of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: TargetStyleMapForVideoProjectSerialDubTaskCreateInput
        """

        self._target_style_map = target_style_map

    @property
    def task_name(self):
        """Gets the task_name of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The task_name of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: str
        """
        return self._task_name

    @task_name.setter
    def task_name(self, task_name):
        """Sets the task_name of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param task_name: The task_name of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: str
        """

        self._task_name = task_name

    @property
    def use_mt(self):
        """Gets the use_mt of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501


        :return: The use_mt of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :rtype: bool
        """
        return self._use_mt

    @use_mt.setter
    def use_mt(self, use_mt):
        """Sets the use_mt of this TaskInfoForVideoProjectSerialDubTaskCreateInput.


        :param use_mt: The use_mt of this TaskInfoForVideoProjectSerialDubTaskCreateInput.  # noqa: E501
        :type: bool
        """

        self._use_mt = use_mt

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(TaskInfoForVideoProjectSerialDubTaskCreateInput, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, TaskInfoForVideoProjectSerialDubTaskCreateInput):
            return False

        return self.to_dict() == other.to_dict()

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        if not isinstance(other, TaskInfoForVideoProjectSerialDubTaskCreateInput):
            return True

        return self.to_dict() != other.to_dict()
