U
    !ŠhŠ@  ã                   @   sÖ   d dl mZmZmZ d dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
mZ d dlZej d¡Ze d¡Zdddd	d
dgZdZdd„ Zdd„ Zdd„ Zddd„Zdd
„ Zdd	„ Zdd„ Zi add„ Zddd„ZdS )é    )Úabsolute_importÚdivisionÚprint_functionN)Ú	parse_qslÚ
TELNYX_LOGÚtelnyxÚior   Úutf8Úlog_infoÚ	log_debugÚlogfmtz=-c                 C   s$   t jrt| t jƒr|  d¡S | S d S )Núutf-8)ÚsixÚPY2Ú
isinstanceÚ	text_typeÚencode)Úvalue© r   úN/home/ankuromar296_gmail_com/.local/lib/python3.8/site-packages/telnyx/util.pyr	      s    
c                   C   s   dt jkodt j dd¡kS )NÚAPPENGINE_RUNTIMEZDevÚSERVER_SOFTWAREÚ )ÚosÚenvironÚgetr   r   r   r   Úis_appengine_dev   s     ÿr   c                   C   s$   t jdkrt jS tdkrtS d S d S )N©ÚdebugÚinfo)r   Úlogr   r   r   r   r   Ú_console_log_level%   s
    
r!   Fc                 C   sH   dg}|D ]8}|s|\}}n|\}}|   |d ¡d k	r
|  |¡| |< q
| S )N)Zfrom_Úfrom)r   Úpop)ÚkwargsÚreverseÚreservedÚiÚoriginalÚreplacementr   r   r   Úrewrite_reserved_words0   s    
r*   c                 K   s<   t tf d| i|—Žƒ}tƒ dkr.t|tjd t |¡ d S )NÚmessager   ©Úfile)r   Údictr!   ÚprintÚsysÚstderrÚloggerr   ©r+   ÚparamsÚmsgr   r   r   r   ?   s    
c                 K   s<   t tf d| i|—Žƒ}tƒ dkr.t|tjd t |¡ d S )Nr+   r   r,   )r   r.   r!   r/   r0   r1   r2   r   r3   r   r   r   r
   F   s    
c                    s(   dd„ ‰ d  ‡ fdd„t|  ¡ ƒD ƒ¡S )Nc                 S   sf   t jrt|dƒr| d¡}t|t jƒs0t  |¡}t d|¡rDt	|ƒ}t d| ¡rXt	| ƒ} dj
| |dS )NÚdecoder   z\sz{key}={val}©ÚkeyÚval)r   ÚPY3Úhasattrr6   r   Ústring_typesr   ÚreÚsearchÚreprÚformatr7   r   r   r   ÚfmtN   s    

zlogfmt.<locals>.fmtú c                    s   g | ]\}}ˆ ||ƒ‘qS r   r   )Ú.0r8   r9   ©rA   r   r   Ú
<listcomp>_   s     zlogfmt.<locals>.<listcomp>)ÚjoinÚsortedÚitems)Úpropsr   rD   r   r   M   s    c               (  C   sÜ  ddl m}  | jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| j	j| j	| j
j| j
| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| jj| j| j j| j | j!j| j!| j"j| j"| j#j| j#| j$j| j$| j%j| j%| j&j| j&| j'j| j'| j(j| j(| j)j| j)| j*j| j*| j*j| j+| j,j| j,| j-j| j-| j.j| j.| j/j| j/| j0j| j0| j1j| j1| j2j| j2| j3j| j3| j4j| j4| j5j| j5| j6j| j6| j7j| j7| j8j| j8| j9j| j9| j:j| j:| j;j| j;| j<j| j<| j=j| j=| j>j| j>| j?j| j?| j@j| j@| jAj| jA| jBj| jB| jCj| jC| jDj| jD| jEj| jE| jFj| jF| jGj| jG| jHj| jH| jIj| jI| jJj| jJ| jKj| jK| jLj| jL| jMj| jM| jNj| jN| jOj| jO| jPj| jP| jQj| jQ| jRj| jR| jSj| jS| jTj| jT| jUj| jU| jVj| jV| jWj| jW| jXj| jX| jYj| jY| jYj| jZ| jYj| j[| j\j| j\| j]j| j]| j^j| j^| j_j| j_| j`j| j`| jaj| ja| jbj| jb| jcj| jc| jdj| jd| jej| je| jfj| jf| jgj| jg| jhj| jh| jij| ji| jjj| jj| jjj| jk| jlj| jl| jmj| jm| jnj| jn| joj| jo| jpj| jp| jpj| jq| jrj| jr| jsj| js| jtj| jt| juj| ju| jvj| jv| jwj| jw| jxj| jx| jyj| jy| jzj| jz| j{j| j{| j|j| j|| j}j| j}| j~j| j~| jj| j| j€j| j€| jj| j| j‚j| j‚| jƒj| jƒ| jƒj| j„| j…j| j…| j†j| j†| j‡j| j‡| jˆj| jˆ| j‰j| j‰| jŠj| jŠ| j‹j| j‹| jŒj| jŒ| jj| j| jŽj| jŽ| jj| j| jj| j| j‘j| j‘| j’j| j’| j“j| j“| j”j| j”| j•j| j•| j–j| j–i”a—d S )Nr   ©Úapi_resources)˜r   rK   ZAPIKeyZOBJECT_NAMEZAccessControlIPZAccessIPAddressZAccessTokenZAddressZAdvancedOptinoptoutZAIZAuthenticationProviderZAutorechargepreferenceZAvailablePhoneNumberZBalanceZBillingZBillingGroupZBrandZBucketZBucketUsageZBulkCreationZBulkCredentialZBulkPhoneNumberCampaignZBulkPhoneNumberOperationZBulkSoleProprietorCreationZBusinessIdentityÚCallZCallControlApplicationZCallInformationZCallRecordingZCampaignZCdrUsageReportÚCommentZ
ConferenceÚ
ConnectionZCredentialConnectionZCsvDownloadZCustomStorageCredentialZCustomerServiceRecordZ	DebuggingZDetailRecordZDetailRecordsReportZDialogflowIntegrationZDocumentZDocumentLinkZDynamicEmergencyAddressZDynamicEmergencyEndpointÚEnumÚEventZExternalConnectionZFaxZFaxApplicationZFQDNZFQDNConnectionZIPZ	IPAddressZIPConnectionZIPRangeZInboundChannelZInventoryCoverageZInventoryLevelZManagedAccountZMdrDetailReportZMdrUsageReportZMediaZMediaStorageApiÚMessageZMessagingHostedNumberZMessagingHostedNumberOrderZMessagingPhoneNumberZMessagingProfileZMessagingTollfreeVerificationZMessagingUrlDomainZMobileNetworkOperatorZNetworkZNotificationZNotificationChannelZNotificationEventZNotificationEventConditionZNotificationProfileZNotificationSettingZNumberConfigurationZNumberLookupZNumberOrderZNumberOrderPhoneNumberZNumberPortoutZNumberReservationZNumbersFeatureZ	OtaUpdateZOutboundVoiceProfileZPhoneNumberZMessagingSettingsZVoiceSettingsZPhoneNumberBlockOrderZPhoneNumberBlocksBackgroundJobZPhoneNumberByProfileZPhoneNumberCampaignZPhoneNumberConfigurationZPhoneNumberJobZPhoneNumberOrderZPhoneNumberOrderDocumentZPhoneNumberPortingZ PhoneNumberRegulatoryRequirementZPhoneNumberReservationZPhoneNumberSearchZPortOutZPortabilityCheckZPortingOrderZPortingPhoneNumberZPresignedObjectUrlZPrivateWirelessGatewayZPublicInternetGatewayZPushCredentialÚQueueZ	QueueCallZQueueCommandZRecordingsCommandÚRegionZRegisterCallÚReportZ	ReportingÚRequirementZRequirementTypeZRoomZRoomCompositionZRoomParticipantZRoomRecordingZRoomSessionZRoomsClientTokenZSIMCardZSIMCardActionZSIMCardGroupZSIMCardOrderZSIMCardOrderPreviewZSharedCampaignZ	ShortCodeZSslCertificateZSubNumberOrderZTelephonyCredentialZTexmlApplicationZTexmlRestCommandZVerificationZVerifiedCallsDisplayProfileZVerifiedNumberZVerifyZVerifyProfileZVirtualCrossConnectZWdrDetailReportZWebhookZWebhookDeliveriesZWireguardInterfaceZWirelessDetailRecordsReportsÚOBJECT_CLASSESrJ   r   r   r   Úload_object_classese   sV                                                                                                                                                       € ërW   c                    s4  t tƒdkrtƒ  t ¡ }d }t| tjjƒr6| }|j} t| t	ƒrR‡ fdd„| D ƒS t| t
ƒr,t| tjjƒs,|  ¡ } t| dd} |  dd ¡}|ràt|t	ƒr°tjjj| ˆ |dS | dd ¡}|rà| |tjj¡}|j|ˆ |dS |  dd ¡}|r| |tjj¡}|j| ˆ |dS tjj}|j| ˆ |dS n| S d S )	Nr   c                    s   g | ]}t |ˆ ƒ‘qS r   )Úconvert_to_telnyx_object)rC   r'   ©Úapi_keyr   r   rE     s     z,convert_to_telnyx_object.<locals>.<listcomp>T)r%   Údata)Zlast_responseÚrecord_type)ÚlenrV   rW   Úcopyr   r   Útelnyx_responseZTelnyxResponser[   Úlistr.   Ztelnyx_objectZTelnyxObjectr*   r   rK   Z
ListObjectZconstruct_from)ÚresprZ   Útypesr_   r[   r\   Úklassr   rY   r   rX     sL    
 ÿ
  ÿ  ÿrX   )F)N)Ú
__future__r   r   r   r   Úloggingr   r=   r0   r   Zsix.moves.urllib.parser   r   r   r   r   Ú	getLoggerr2   Ú__all__Ztelnyx_valid_id_partsr	   r   r!   r*   r   r
   r   rV   rW   rX   r   r   r   r   Ú<module>   s.   

  