o
    ȷe                     @   s  d dl mZ d dlmZmZ dd ZG dd deZG dd deZG d	d
 d
eZ	G dd deZ
G dd de
ZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZd!S )"    )Decimal)filtermapc                    s   G  fdddt   S )Nc                       s6   e Zd ZZe d eZ fddZ  Z	S )z$ResponseFactory.<locals>.FPSResponseResultc                    s(   |d krt  | ||| d S d S )NResponse)super
endElementselfnamevalue
connection)FPSResponse	__class__action H/var/www/ideatree/venv/lib/python3.10/site-packages/boto/fps/response.pyr   "   s   z/ResponseFactory.<locals>.FPSResponse.endElement)
__name__
__module____qualname___actionglobalsgetResponseElement_Resultr   __classcell__r   r   r   r   r   r      s    r   )r   )r   r   r   r   ResponseFactory   s   r   c                   @   s:   e Zd ZdddZedd Zdd Zdd	 Zd
d ZdS )r   Nc                 C   s    |d ur|| _ |p| jj| _d S N)_connectionr   r   _name)r
   r   r   r   r   r   __init__)   s   zResponseElement.__init__c                 C   s   | j S r   )r    r
   r   r   r   r   .   s   zResponseElement.connectionc                 C   s<   dd }dd }t || j }d| jjdt||S )Nc                 S   s
   dj |  S )Nz
{!s}: {!r})formatpairr   r   r   <lambda>3   s   
 z*ResponseElement.__repr__.<locals>.<lambda>c                 S   s   | d  d S )Nr   _)
startswithr%   r   r   r   r'   4   s    z{0}({1})z, )r   __dict__itemsr$   r   r   joinr   )r
   renderdo_showattrsr   r   r   __repr__2   s   
zResponseElement.__repr__c                 C   s   d S r   r   r
   r   r/   r   r   r   r   startElement9   s   zResponseElement.startElementc                 C   s   || j krt| || d S d S r   )r!   setattrr	   r   r   r   r   =   s   
zResponseElement.endElement)NN)	r   r   r   r"   propertyr   r0   r2   r   r   r   r   r   r   (   s    

r   c                       s    e Zd ZdZ fddZ  ZS )r   	Undefinedc                    s^   |dkrt | |t|d n|| jd kr t | || j|d n
tt| |||S t| |S )NResponseMetadatar   r   )r3   r   r   r   r   r   r2   getattrr1   r   r   r   r2   E   s   
zResponse.startElement)r   r   r   r   r2   r   r   r   r   r   r   B   s    r   c                       s@   e Zd Zdd Zdd Zdd Z fddZ fd	d
Z  ZS )ComplexAmountc                 C   s   d | j| jS )Nz{0} {1})r$   CurrencyCodeValuer#   r   r   r   r0   P   s   zComplexAmount.__repr__c                 C   
   t | jS r   )floatr;   r#   r   r   r   	__float__S      
zComplexAmount.__float__c                 C   r<   r   )strr;   r#   r   r   r   __str__V   r?   zComplexAmount.__str__c                    s.   |dvrd |}t|tt| |||S )N)r:   r;   z%Unrecognized tag {0} in ComplexAmount)r$   AssertionErrorr   r9   r2   )r
   r   r/   r   messager   r   r   r2   Y   s   
zComplexAmount.startElementc                    s(   |dkrt |}tt| ||| d S )Nr;   )r   r   r9   r   r	   r   r   r   r   _   s   zComplexAmount.endElement)	r   r   r   r0   r>   rA   r2   r   r   r   r   r   r   r9   O   s    r9   c                   @   s   e Zd Zdd ZdS )AmountCollectionc                 C   s   t | |t|d t| |S )Nr7   )r3   r9   r8   r1   r   r   r   r2   f   s   
zAmountCollection.startElementN)r   r   r   r2   r   r   r   r   rD   e   s    rD   c                          e Zd Z fddZ  ZS )AccountBalancec                    8   |dkrt | |t|d t| |S tt| |||S )NAvailableBalancesr7   )r3   rD   r8   r   rF   r2   r1   r   r   r   r2   l   s   
zAccountBalance.startElementr   r   r   r2   r   r   r   r   r   rF   k       rF   c                       rE   )GetAccountBalanceResultc                    rG   )NrF   r7   )r3   rF   r8   r   rK   r2   r1   r   r   r   r2   t      
z$GetAccountBalanceResult.startElementrI   r   r   r   r   rK   s   rJ   rK   c                       rE   )GetTotalPrepaidLiabilityResultc                    rG   )NOutstandingPrepaidLiabilityr7   )r3   rD   r8   r   rM   r2   r1   r   r   r   r2   }      
z+GetTotalPrepaidLiabilityResult.startElementrI   r   r   r   r   rM   |   rJ   rM   c                       rE   )GetPrepaidBalanceResultc                    rG   )NPrepaidBalancer7   )r3   rD   r8   r   rP   r2   r1   r   r   r   r2      rL   z$GetPrepaidBalanceResult.startElementrI   r   r   r   r   rP      rJ   rP   c                       rE   )GetOutstandingDebtBalanceResultc                    rG   )NOutstandingDebtr7   )r3   rD   r8   r   rR   r2   r1   r   r   r   r2      rO   z,GetOutstandingDebtBalanceResult.startElementrI   r   r   r   r   rR      rJ   rR   c                       rE   )TransactionPartc                    rG   )NFeesPaidr7   )r3   r9   r8   r   rT   r2   r1   r   r   r   r2      rL   zTransactionPart.startElementrI   r   r   r   r   rT      rJ   rT   c                       (   e Zd Z fddZ fddZ  ZS )Transactionc                        g | _ tt| j|i | d S r   )rT   r   rW   r"   r
   argskwr   r   r   r"         zTransaction.__init__c                    sd   |dkrt | |t|d t | |d S |dv r(t| |t|d t | |S tt| |||S )NrT   r7   )TransactionAmountFPSFeesBalance)r8   appendrT   r3   r9   r   rW   r2   r1   r   r   r   r2      s   
zTransaction.startElementr   r   r   r"   r2   r   r   r   r   r   rW          rW   c                       rV   )GetAccountActivityResultc                    rX   r   )rW   r   rd   r"   rY   r   r   r   r"      r\   z!GetAccountActivityResult.__init__c                    @   |dkrt | |t|d t | |d S tt| |||S )NrW   r7   r]   )r8   ra   rW   r   rd   r2   r1   r   r   r   r2         z%GetAccountActivityResult.startElementrb   r   r   r   r   rd      rc   rd   c                       rE   )GetTransactionResultc                    rG   )NrW   r7   )r3   rW   r8   r   rg   r2   r1   r   r   r   r2      rL   z!GetTransactionResult.startElementrI   r   r   r   r   rg      rJ   rg   c                       rV   )GetTokensResultc                    rX   r   )Tokenr   rh   r"   rY   r   r   r   r"      r\   zGetTokensResult.__init__c                    re   )Nri   r7   r]   )r8   ra   r   r   rh   r2   r1   r   r   r   r2      rf   zGetTokensResult.startElementrb   r   r   r   r   rh      rc   rh   N)decimalr   boto.compatr   r   r   objectr   r   r9   rD   rF   rK   rM   rP   rR   rT   rW   rd   rg   rh   r   r   r   r   <module>   s"   						