U
    hRf2                     @   s   d Z ddlmZmZmZmZmZmZmZ ddl	m
Z
mZmZ ddlmZ ddlmZ ddlmZ ddlmZ G dd	 d	eZG d
d deZG dd deZdS )a  
    This code was generated by
   ___ _ _ _ _ _    _ ____    ____ ____ _    ____ ____ _  _ ____ ____ ____ ___ __   __
    |  | | | | |    | |  | __ |  | |__| | __ | __ |___ |\ | |___ |__/ |__|  | |  | |__/
    |  |_|_| | |___ | |__|    |__| |  | |    |__] |___ | \| |___ |  \ |  |  | |__| |  \

    Twilio - Intelligence
    This is the public Twilio REST API.

    NOTE: This class is auto generated by OpenAPI Generator.
    https://openapi-generator.tech
    Do not edit the class manually.
    )AnyDictListOptionalUnionIteratorAsyncIterator)deserialize	serializevalues)InstanceResource)ListResource)Version)Pagec                       s@   e Zd ZdZeeeef ed fddZedddZ	  Z
S )SentenceInstancea  
    :ivar media_channel: The channel number.
    :ivar sentence_index: The index of the sentence in the transcript.
    :ivar start_time: Offset from the beginning of the transcript when this sentence starts.
    :ivar end_time: Offset from the beginning of the transcript when this sentence ends.
    :ivar transcript: Transcript text.
    :ivar sid: A 34 character string that uniquely identifies this Sentence.
    :ivar confidence:
    )versionpayloadtranscript_sidc                    s   t  | t|d| _t|d| _t|d| _t|d| _	|d| _
|d| _t|d| _d|i| _d S )	Nmedia_channelsentence_index
start_timeend_time
transcriptsid
confidencer   )super__init__r	   integergetr   r   decimalr   r   r   r   r   	_solution)selfr   r   r   	__class__ S/tmp/pip-unpacked-wheel-74se_viw/twilio/rest/intelligence/v2/transcript/sentence.pyr   #   s&     zSentenceInstance.__init__returnc                 C   s$   d dd | j D }d|S )f
        Provide a friendly representation

        :returns: Machine friendly representation
         c                 s   s   | ]\}}d  ||V  qdS )z{}={}N)format).0kvr$   r$   r%   	<genexpr>@   s     z,SentenceInstance.__repr__.<locals>.<genexpr>z,<Twilio.Intelligence.V2.SentenceInstance {}>)joinr    itemsr*   )r!   contextr$   r$   r%   __repr__:   s    zSentenceInstance.__repr__)__name__
__module____qualname____doc__r   r   strr   r   r2   __classcell__r$   r$   r"   r%   r      s   
r   c                   @   s2   e Zd Zeeef edddZedddZdS )SentencePage)r   r'   c                 C   s   t | j|| jd dS )zn
        Build an instance of SentenceInstance

        :param payload: Payload response from the API
        r   )r   )r   _versionr    )r!   r   r$   r$   r%   get_instanceF   s
      zSentencePage.get_instancer&   c                 C   s   dS )r(   z%<Twilio.Intelligence.V2.SentencePage>r$   r!   r$   r$   r%   r2   P   s    zSentencePage.__repr__N)	r3   r4   r5   r   r7   r   r   r;   r2   r$   r$   r$   r%   r9   D   s   
r9   c                       s  e Zd Zeed fddZejddfee	e
f ee ee ee dddZejddfee	e
f ee ee ee ddd	Zejddfee	e
f ee ee ee dd
dZejddfee	e
f ee ee ee dddZejejejejfee	e
f eee
f eee
f eee
f edddZejejejejfee	e
f eee
f eee
f eee
f edddZeedddZeedddZedddZ  ZS )SentenceList)r   r   c                    s*   t  | d|i| _djf | j| _dS )z
        Initialize the SentenceList

        :param version: Version that contains the resource
        :param transcript_sid: The unique SID identifier of the Transcript.

        r   z'/Transcripts/{transcript_sid}/SentencesN)r   r   r    r*   _uri)r!   r   r   r"   r$   r%   r   [   s
     zSentenceList.__init__N)redactedlimit	page_sizer'   c                 C   s2   | j ||}| j||d d}| j ||d S )a  
        Streams SentenceInstance records from the API as a generator stream.
        This operation lazily loads records as efficiently as possible until the limit
        is reached.
        The results are returned as a generator, so this operation is memory efficient.

        :param bool redacted: Grant access to PII Redacted/Unredacted Sentences. If redaction is enabled, the default is `true` to access redacted sentences.
        :param limit: Upper limit for the number of records to return. stream()
                      guarantees to never return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, stream() will attempt to read the
                          limit with the most efficient page size, i.e. min(limit, 1000)

        :returns: Generator that will yield up to limit results
        rA   r?   rA   r@   )r:   read_limitspagestreamr!   r?   r@   rA   ZlimitsrD   r$   r$   r%   rE   k   s    zSentenceList.streamc                    s8   | j ||}| j||d dI dH }| j ||d S )a  
        Asynchronously streams SentenceInstance records from the API as a generator stream.
        This operation lazily loads records as efficiently as possible until the limit
        is reached.
        The results are returned as a generator, so this operation is memory efficient.

        :param bool redacted: Grant access to PII Redacted/Unredacted Sentences. If redaction is enabled, the default is `true` to access redacted sentences.
        :param limit: Upper limit for the number of records to return. stream()
                      guarantees to never return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, stream() will attempt to read the
                          limit with the most efficient page size, i.e. min(limit, 1000)

        :returns: Generator that will yield up to limit results
        rA   rB   Nr@   )r:   rC   
page_asyncstream_asyncrF   r$   r$   r%   rH      s    zSentenceList.stream_asyncc                 C   s   t | j|||dS )a  
        Lists SentenceInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :param bool redacted: Grant access to PII Redacted/Unredacted Sentences. If redaction is enabled, the default is `true` to access redacted sentences.
        :param limit: Upper limit for the number of records to return. list() guarantees
                      never to return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, list() will attempt to read the limit
                          with the most efficient page size, i.e. min(limit, 1000)

        :returns: list that will contain up to limit results
        r?   r@   rA   )listrE   r!   r?   r@   rA   r$   r$   r%   rJ      s    zSentenceList.listc                    s&   dd | j |||dI dH 2 I dH S )a  
        Asynchronously lists SentenceInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :param bool redacted: Grant access to PII Redacted/Unredacted Sentences. If redaction is enabled, the default is `true` to access redacted sentences.
        :param limit: Upper limit for the number of records to return. list() guarantees
                      never to return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, list() will attempt to read the limit
                          with the most efficient page size, i.e. min(limit, 1000)

        :returns: list that will contain up to limit results
        c                    s   g | z3 d H W }|q6 S )Nr$   )r+   recordr$   r$   r%   
<listcomp>   s   z+SentenceList.list_async.<locals>.<listcomp>rI   N)rH   rK   r$   r$   r%   
list_async   s    
zSentenceList.list_async)r?   
page_tokenpage_numberrA   r'   c                 C   s>   t t||||d}| jjd| j|d}t| j|| jS )a  
        Retrieve a single page of SentenceInstance records from the API.
        Request is executed immediately

        :param redacted: Grant access to PII Redacted/Unredacted Sentences. If redaction is enabled, the default is `true` to access redacted sentences.
        :param page_token: PageToken provided by the API
        :param page_number: Page Number, this value is simply for client state
        :param page_size: Number of records to return, defaults to 50

        :returns: Page of SentenceInstance
        ZRedactedZ	PageTokenr   ZPageSizeGETmethoduriparams)	r   ofr
   boolean_to_stringr:   rD   r>   r9   r    r!   r?   rO   rP   rA   dataresponser$   r$   r%   rD      s    	zSentenceList.pagec                    sD   t t||||d}| jjd| j|dI dH }t| j|| jS )a  
        Asynchronously retrieve a single page of SentenceInstance records from the API.
        Request is executed immediately

        :param redacted: Grant access to PII Redacted/Unredacted Sentences. If redaction is enabled, the default is `true` to access redacted sentences.
        :param page_token: PageToken provided by the API
        :param page_number: Page Number, this value is simply for client state
        :param page_size: Number of records to return, defaults to 50

        :returns: Page of SentenceInstance
        rQ   rR   rS   N)	r   rW   r
   rX   r:   rG   r>   r9   r    rY   r$   r$   r%   rG      s    	  zSentenceList.page_async)
target_urlr'   c                 C   s"   | j jjd|}t| j || jS )z
        Retrieve a specific page of SentenceInstance records from the API.
        Request is executed immediately

        :param target_url: API-generated URL for the requested results page

        :returns: Page of SentenceInstance
        rR   )r:   domaintwiliorequestr9   r    r!   r\   r[   r$   r$   r%   get_page  s    	zSentenceList.get_pagec                    s(   | j jjd|I dH }t| j || jS )a  
        Asynchronously retrieve a specific page of SentenceInstance records from the API.
        Request is executed immediately

        :param target_url: API-generated URL for the requested results page

        :returns: Page of SentenceInstance
        rR   N)r:   r]   r^   Zrequest_asyncr9   r    r`   r$   r$   r%   get_page_async&  s    	zSentenceList.get_page_asyncr&   c                 C   s   dS )r(   z%<Twilio.Intelligence.V2.SentenceList>r$   r<   r$   r$   r%   r2   2  s    zSentenceList.__repr__)r3   r4   r5   r   r7   r   r   Zunsetr   boolobjectr   intr   r   rE   r   rH   r   rJ   rN   r9   rD   rG   ra   rb   r2   r8   r$   r$   r"   r%   r=   Y   s|   



 



 



 r=   N)r6   typingr   r   r   r   r   r   r   Ztwilio.baser	   r
   r   Ztwilio.base.instance_resourcer   Ztwilio.base.list_resourcer   Ztwilio.base.versionr   Ztwilio.base.pager   r   r9   r=   r$   r$   r$   r%   <module>   s   $,