B
    ?F[Z                 @   sX  d dl mZ d dlmZm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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G d/d0 d0eZG d1d2 d2eZG d3d4 d4eZG d5d6 d6eZ G d7d8 d8eZ!G d9d: d:eZ"G d;d< d<eZ#G d=d> d>eZ$G d?d@ d@e$Z%G dAdB dBeZ&G dCdD dDeZ'G dEdF dFeZ(G dGdH dHeZ)G dIdJ dJeZ*G dKdL dLeZ+G dMdN dNeZ,G dOdP dPeZ-G dQdR dReZ.G dSdT dTeZ/G dUdV dVeZ0G dWdX dXeZ1G dYdZ dZe1Z2G d[d\ d\eZ3G d]d^ d^eZ4G d_d` d`eZ5G dadb dbeZ6G dcdd ddeZ7G dedf dfeZ8G dgdh dheZ9G didj djeZ:G dkdl dleZ;G dmdn dneZ<G dodp dpeZ=G dqdr dreZ>G dsdt dte>Z?G dudv dve<Z@G dwdx dxeZAG dydz dze>ZBG d{d| d|e>ZCG d}d~ d~e>ZDG dd de>ZEG dd de>ZFG dd de>ZGG dd deZHG dd deZIG dd deIZJG dd deIZKG dd deZLG dd deZMG dd deMZNG dd deZOG dd deZPG dd deZQG dd deZRG dd deZSG dd deZTG dd deTZUG dd deZVG dd deZWG dd deZXG dd deXZYG dd deZZG dd deZ[G dd deZ\G dd deZ]G dd deZ^G dd deZ_G dd deZ`G dd de`ZaG dd deZbG dd deZcG dd decZdG dd deZeG dd deZfG ddĄ defZgG ddƄ deZhG ddȄ deZiG ddʄ deiZjdS )    )Decimal)filtermapc               @   s    e Zd ZdZdd Zdd ZdS )ComplexTypeValuec             C   s   d t| | jd |  S )Nz{0}{1})formatgetattr_valuecopy)self r   0lib/python3.7/site-packages/boto/mws/response.py__repr__   s    zComplexType.__repr__c             C   s   t t| | jdS )N )strr   r	   )r   r   r   r   __str__   s    zComplexType.__str__N)__name__
__module____qualname__r	   r   r   r   r   r   r   r      s   r   c               @   s>   e Zd ZdddZdd Zdd Zdd	 Zd
d Zdd ZdS )DeclarativeTypeNc             K   s|   d | _ |d k	r|| _d S G dd dt}|| _d| jjtt| jdd  | j_x"| D ]\}}t	| j|| q^W d S )Nc               @   s   e Zd ZdS )z-DeclarativeType.__init__.<locals>.JITResponseN)r   r   r   r   r   r   r   JITResponse(   s   r   zJIT_{0}/{1}   )
r	   _hintResponseElementr   	__class__r   hexiditemssetattr)r   r   kwr   namevaluer   r   r   __init__"   s    
zDeclarativeType.__init__c             C   s<   t | dd }d| jj|r |jp"dt | ddtt| jS )N_parentz<{0}_{1}/{2}_{3}>?_name)r   r   r   r   r%   r   r   )r   parentr   r   r   r   0   s
    

zDeclarativeType.__repr__c             O   sB   || _ || _| j| jd| _|| j_ || j_t| j | j| j d S )N)r   )r#   r%   r   r   Z_cloner   )r   r&   r    argsr   r   r   r   setup7   s    zDeclarativeType.setupc             O   s   t d S )N)NotImplementedError)r   r'   r   r   r   r   start?   s    zDeclarativeType.startc             O   s   t d S )N)r)   )r   r'   r   r   r   r   endB   s    zDeclarativeType.endc             O   s   t | j| j| j d S )N)r   r#   r%   r	   )r   r'   r   r   r   r   teardownE   s    zDeclarativeType.teardown)N)	r   r   r   r"   r   r(   r*   r+   r,   r   r   r   r   r   !   s   
r   c               @   s   e Zd Zdd Zdd ZdS )Elementc             O   s   | j f d| ji|| _| jS )Nr&   )r   r#   r	   )r   r'   r   r   r   r   r*   J   s    zElement.startc             O   s   d S )Nr   )r   r'   r   r   r   r   r+   N   s    zElement.endN)r   r   r   r*   r+   r   r   r   r   r-   I   s   r-   c                   s,   e Zd Z fddZdd Zdd Z  ZS )
SimpleListc                s   t t| j|| g | _d S )N)superr.   r"   r	   )r   r'   r   )r   r   r   r"   S   s    zSimpleList.__init__c             O   s   d S )Nr   )r   r'   r   r   r   r   r*   W   s    zSimpleList.startc             O   s   | j | d S )N)r	   append)r   r    r!   r'   r   r   r   r   r+   Z   s    zSimpleList.end)r   r   r   r"   r*   r+   __classcell__r   r   )r   r   r.   R   s   r.   c               @   s   e Zd Zdd Zdd ZdS )ElementListc             O   s&   | j f d| ji|}| j| |S )Nr&   )r   r#   r	   r0   )r   r'   r   r!   r   r   r   r*   _   s    zElementList.startc             O   s   d S )Nr   )r   r'   r   r   r   r   r+   d   s    zElementList.endN)r   r   r   r*   r+   r   r   r   r   r2   ^   s   r2   c                   s*   e Zd Zd fdd	Z fddZ  ZS )
MemberListNc                s   d | jj}d|kst||d kr`|d krLtt| j|dtf |i qtt| j|d nZ|d krt|t	r~|f |}nt|f|}tt| j|d|i nd | jj|}t|d S )Nz%Invalid `member` specification in {0}member)r   zNonsensical {0} hint {1!r})
r   r   r   AssertionErrorr/   r3   r"   r2   
issubclassr   )r   Z_memberr   r'   r   messager4   )r   r   r   r"   i   s    

zMemberList.__init__c                sH   | j d krg | _ n t| j jtr(g | j _| j j| _ tt| j|| d S )N)r	   
isinstancer4   r   r/   r3   r,   )r   r'   r   )r   r   r   r,   }   s    

zMemberList.teardown)NN)r   r   r   r"   r,   r1   r   r   )r   r   r3   h   s   r3   c               @   s8   e Zd ZdddZdd Zdd Zdd	 Zdd
dZdS )ResponseFactoryNc             C   s   |d krg n|| _ d S )N)scopes)r   r:   r   r   r   r"      s    zResponseFactory.__init__c                s(   G  fddd|}t |dt  |S )Nc                   s   e Zd Z ZdS )z7ResponseFactory.element_factory.<locals>.DynamicElementN)r   r   r   r%   r   )r    r   r   DynamicElement   s   r;   r   )r   r   )r   r    r&   r;   r   )r    r   element_factory   s    zResponseFactory.element_factoryc             C   sB   x<| j D ]2}t||r t||S t|dr||kr|| S qW d S )N__getitem__)r:   hasattrr   )r   keyscoper   r   r   search_scopes   s    


zResponseFactory.search_scopesc             C   sh   |  || }|d k	r|S |drX|  |d td  | }|d k	rX| || |S | || |S )NZByNextToken)rA   endswithlenr<   )r   actionsuffixr&   elementr   r   r   find_element   s    
zResponseFactory.find_elementc             C   sH   |  |dt}t||d s>|  |dt}t||d t| ||dS )NResponseResult)
connection)rG   rH   r>   r   r   r-   )r   rD   rJ   Zresponseresultr   r   r   __call__   s
    zResponseFactory.__call__)N)N)r   r   r   r"   r<   rA   rG   rL   r   r   r   r   r9      s
   

r9   c                s    fdd}|S )Nc                sB   | j d k	r0|| j d r0|t| j d d  } | |f||S )N:)
_namespace
startswithrC   )r   r    r'   r   )funcr   r   wrapper   s    
z strip_namespace.<locals>.wrapperr   )rP   rQ   r   )rP   r   strip_namespace   s    rR   c               @   s^   e Zd Zi ZdZdZdddZdd Zedd Z	dd	 Z
d
d Zedd Zedd ZdS )r   Nc             C   sf   |d k	r| j d kr|j | _ |d k	r(|| _|p8| jp8| jj| _| jd|d t| |r\| p^i  d S )Nr(   )attrs)	rN   _connectionr%   r   r   	_declareddictr"   r
   )r   rJ   r    r&   rS   r   r   r   r"      s    zResponseElement.__init__c                sh    fdd  | j }|| j dd }x8t|| D ]&\}}t||| |fd| ji| q:W d S )Nc                s8   i }x"t | ddD ]}| | qW || j |S )N	__bases__r   )r   update__dict__)objrK   cls)inheritr   r   r\      s
    z*ResponseElement._declared.<locals>.inheritc             S   s   t | d tS )N   )r8   r   )attrr   r   r   <lambda>   s    z+ResponseElement._declared.<locals>.<lambda>Z
parentname)r   rX   rY   r   r   r   r%   )r   opr   r@   Zdeclaredr    Znoder   )r\   r   rU      s    
zResponseElement._declaredc             C   s   | j S )N)rT   )r   r   r   r   rJ      s    zResponseElement.connectionc          	   C   s`   dd }dd }t || j }| jj}|drBd| jp>d}d||  d	t
||S )	Nc             S   s
   dj |  S )Nz{0!s}: {1!r})r   )pairr   r   r   r_      s    z*ResponseElement.__repr__.<locals>.<lambda>c             S   s   | d  d S )Nr   _)rO   )ra   r   r   r   r_      s    ZJIT_z^{0}^r   z{0}{1!r}({2})z, )r   rY   r   r   r   rO   r   r%   r
   joinr   )r   ZrenderZdo_showrS   r    r   r   r   r      s    
zResponseElement.__repr__c             C   s   | j |t |tS )N)	_overridegetglobalsr   )r   r    rS   r   r   r   	_type_for   s    zResponseElement._type_forc             C   sL   t | |d }t|tr&|j|||dS | rDt| |t|  nd S d S )N)r    rS   rJ   )r   r8   r   r*   Z	getLengthr   r   r
   )r   r    rS   rJ   	attributer   r   r   startElement   s    
zResponseElement.startElementc             C   sh   t | |d }|| jkr"| d nBt|tr>|j|||d n&t|trXt||j| nt| || d S )Nr,   )r    r!   rJ   )	r   r%   rU   r8   r   r+   r   r   r	   )r   r    r!   rJ   rh   r   r   r   
endElement   s    


zResponseElement.endElement)NNNN)r   r   r   rd   r%   rN   r"   rU   propertyrJ   r   rg   rR   ri   rj   r   r   r   r   r      s   
	
r   c                   s>   e Zd Ze Ze fddZedd Zedd Z	  Z
S )rH   c                s.   || j kr| | ntt| |||S d S )N)r%   rX   r/   rH   ri   )r   r    rS   rJ   )r   r   r   ri      s    
zResponse.startElementc             C   s   t | | jd d S )NrI   )r   _action)r   r   r   r   _result  s    zResponse._resultc             C   s   | j p| jjd td  S )NrH   )r%   r   r   rC   )r   r   r   r   rl     s    zResponse._action)r   r   r   r-   ZResponseMetadatarR   ri   rk   rm   rl   r1   r   r   )r   r   rH      s   rH   c                   s    e Zd ZeZ fddZ  ZS )ResponseResultListc                s.   t | | jd t| j tt| j|| d S )NrI   )r   rl   r2   _ResultClassr/   rn   r"   )r   r'   r   )r   r   r   r"     s    zResponseResultList.__init__)r   r   r   r   ro   r"   r1   r   r   )r   r   rn     s   rn   c               @   s   e Zd ZdS )FeedSubmissionInfoN)r   r   r   r   r   r   r   rp     s   rp   c               @   s   e Zd ZeeZdS )SubmitFeedResultN)r   r   r   r-   rp   r   r   r   r   rq     s   rq   c               @   s   e Zd ZeeZdS )GetFeedSubmissionListResultN)r   r   r   r2   rp   r   r   r   r   rr     s   rr   c               @   s   e Zd ZdS )GetFeedSubmissionCountResultN)r   r   r   r   r   r   r   rs      s   rs   c               @   s   e Zd ZdS )CancelFeedSubmissionsResultN)r   r   r   r   r   r   r   rt   $  s   rt   c               @   s   e Zd Zee dZdS )GetServiceStatusResult)MessagesN)r   r   r   r-   r2   rv   r   r   r   r   ru   (  s   ru   c               @   s   e Zd ZdS )ReportRequestInfoN)r   r   r   r   r   r   r   rw   ,  s   rw   c               @   s   e Zd Ze ZdS )RequestReportResultN)r   r   r   r-   rw   r   r   r   r   rx   0  s   rx   c               @   s   e Zd Ze ZdS )GetReportRequestListResultN)r   r   r   r2   rw   r   r   r   r   ry   4  s   ry   c               @   s   e Zd ZdS )CancelReportRequestsResultN)r   r   r   r   r   r   r   rz   8  s   rz   c               @   s   e Zd Ze ZdS )GetReportListResultN)r   r   r   r2   Z
ReportInfor   r   r   r   r{   <  s   r{   c               @   s   e Zd Ze ZdS )ManageReportScheduleResultN)r   r   r   r-   ZReportScheduler   r   r   r   r|   @  s   r|   c               @   s   e Zd ZdS )GetReportScheduleListResultN)r   r   r   r   r   r   r   r}   D  s   r}   c               @   s   e Zd ZdS )"UpdateReportAcknowledgementsResultN)r   r   r   r   r   r   r   r~   H  s   r~   c               @   s   e Zd Zee e dZdS )CreateInboundShipmentPlanResult)ShipToAddressZItemsN)r   r   r   r3   r-   ZInboundShipmentPlansr   r   r   r   r   L  s   r   c               @   s   e Zd Zee dZdS )ListInboundShipmentsResult)ZShipFromAddressN)r   r   r   r3   r-   ZShipmentDatar   r   r   r   r   Q  s   r   c               @   s   e Zd Ze ZdS )ListInboundShipmentItemsResultN)r   r   r   r3   ZItemDatar   r   r   r   r   U  s   r   c               @   s&   e Zd Zee ee e ddZdS )ListInventorySupplyResult)ZEarliestAvailableToPickZLatestAvailableToPick)ZEarliestAvailabilityZSupplyDetailN)r   r   r   r3   r-   ZInventorySupplyListr   r   r   r   r   Y  s
   r   c                   sL   e Zd ZdZdd Zdd Zdd Ze fdd	Ze fd
dZ	  Z
S )ComplexAmountr   c             C   s   d | jt| | jS )Nz{0} {1})r   CurrencyCoder   _amount)r   r   r   r   r   f  s    zComplexAmount.__repr__c             C   s   t t| | jS )N)floatr   r   )r   r   r   r   	__float__i  s    zComplexAmount.__float__c             C   s   t t| | jS )N)r   r   r   )r   r   r   r   r   l  s    zComplexAmount.__str__c                s4   |d| j fkr d|}t|tt| |||S )Nr   z%Unrecognized tag {0} in ComplexAmount)r   r   r5   r/   r   ri   )r   r    rS   rJ   r7   )r   r   r   ri   o  s    
zComplexAmount.startElementc                s*   || j krt|}tt| ||| d S )N)r   r   r/   r   rj   )r   r    r!   rJ   )r   r   r   rj   v  s    
zComplexAmount.endElement)r   r   r   r   r   r   r   rR   ri   rj   r1   r   r   )r   r   r   c  s   r   c               @   s   e Zd ZdZdS )ComplexMoneyAmountN)r   r   r   r   r   r   r   r   r   }  s   r   c                   sH   e Zd Zdd Zdd Zdd Ze fddZe fd	d
Z  Z	S )ComplexWeightc             C   s   d | j| jS )Nz{0} {1})r   r   Unit)r   r   r   r   r     s    zComplexWeight.__repr__c             C   s
   t | jS )N)r   r   )r   r   r   r   r     s    zComplexWeight.__float__c             C   s
   t | jS )N)r   r   )r   r   r   r   r     s    zComplexWeight.__str__c                s.   |dkrd |}t|tt| |||S )N)r   r   z%Unrecognized tag {0} in ComplexWeight)r   r5   r/   r   ri   )r   r    rS   rJ   r7   )r   r   r   ri     s    
zComplexWeight.startElementc                s(   |dkrt |}tt| ||| d S )Nr   )r   r/   r   rj   )r   r    r!   rJ   )r   r   r   rj     s    zComplexWeight.endElement)
r   r   r   r   r   r   rR   ri   rj   r1   r   r   )r   r   r     s
   r   c               @   s   e Zd ZdZdS )	Dimensionr   N)r   r   r   r	   r   r   r   r   r     s   r   c               @   s0   e Zd ZdZdd Zedd Zedd ZdS )	ComplexDimensions)ZHeightZLengthZWidthZWeightc                s0    fdd j D }td |}dtdj|S )Nc                s   g | ]}t  |d qS )N)r   ).0r?   )r   r   r   
<listcomp>  s    z.ComplexDimensions.__repr__.<locals>.<listcomp>xz{0.Value:0.2f}{0[Units]})_dimensionsr   rc   r   r   )r   valuesr   )r   r   r     s    
zComplexDimensions.__repr__c             C   s4   || j krd|}t|t| |t|  d S )Nz)Unrecognized tag {0} in ComplexDimensions)r   r   r5   r   r   r
   )r   r    rS   rJ   r7   r   r   r   ri     s    

zComplexDimensions.startElementc             C   s*   || j krt|pd}t| ||| d S )N0)r   r   r   rj   )r   r    r!   rJ   r   r   r   rj     s    
zComplexDimensions.endElementN)r   r   r   r   r   rR   ri   rj   r   r   r   r   r     s   r   c               @   s   e Zd ZeeZdS )FulfillmentPreviewItemN)r   r   r   r-   r   EstimatedShippingWeightr   r   r   r   r     s   r   c               @   s8   e Zd ZeeZeeedZee	Z
eee	dZdS )FulfillmentPreview)r   )ZFulfillmentPreviewItemsN)r   r   r   r-   r   r   r3   r   ZEstimatedFeesr   ZUnfulfillablePreviewItemsZFulfillmentPreviewShipmentsr   r   r   r   r     s
   r   c               @   s   e Zd ZeeZdS )GetFulfillmentPreviewResultN)r   r   r   r3   r   ZFulfillmentPreviewsr   r   r   r   r     s   r   c               @   s   e Zd Ze ZeeZdS )FulfillmentOrderN)r   r   r   r-   ZDestinationAddressr3   r.   ZNotificationEmailListr   r   r   r   r     s   r   c               @   s*   e Zd ZeeZee e dZe ZdS )GetFulfillmentOrderResult)ZFulfillmentShipmentItemZFulfillmentShipmentPackageN)r   r   r   r-   r   r3   ZFulfillmentShipmentZFulfillmentOrderItemr   r   r   r   r     s
   
r   c               @   s   e Zd ZeeZdS )ListAllFulfillmentOrdersResultN)r   r   r   r3   r   ZFulfillmentOrdersr   r   r   r   r     s   r   c               @   s   e Zd Ze Zee dZdS )GetPackageTrackingDetailsResult)ZEventAddressN)r   r   r   r-   r   r3   ZTrackingEventsr   r   r   r   r     s   r   c               @   s   e Zd ZdS )ImageN)r   r   r   r   r   r   r   r     s   r   c               @   s,   e Zd ZeeZeeZeeZee	Z
dS )AttributeSetN)r   r   r   r-   r   ZItemDimensionsr   Z	ListPriceZPackageDimensionsr   Z
SmallImager   r   r   r   r     s   r   c                   s(   e Zd Zee dZ fddZ  ZS )ItemAttributes)ZLanguagec                s6   d}x|D ]}t | |t  q
W tt| j|| d S )N)ZActorZArtistZAuthorZCreatorZDirectorZFeatureZFormatGemTypeMaterialTypeZ	MediaTypeOperatingSystemZPlatform)r   r.   r/   r   r"   )r   r'   r   namesr    )r   r   r   r"     s    
zItemAttributes.__init__)r   r   r   r-   r2   Z	Languagesr"   r1   r   r   )r   r   r     s   r   c               @   s.   e Zd Zee e dZe Ze Ze ZdS )VariationRelationship)MarketplaceASINSKUIdentifierN)	r   r   r   r-   Identifiersr.   r   r   r   r   r   r   r   r     s
   
r   c               @   s$   e Zd ZeeZeeZeeZdS )PriceN)r   r   r   r-   r   ZLandedPriceZListingPriceZShippingr   r   r   r   r     s   r   c               @   s   e Zd ZeeZdS )CompetitivePriceN)r   r   r   r-   r   r   r   r   r   r      s   r   c               @   s   e Zd ZeeZdS )CompetitivePriceListN)r   r   r   r2   r   r   r   r   r   r     s   r   c               @   s"   e Zd ZeeZe ZeeZ	dS )CompetitivePricingN)
r   r   r   r-   r   ZCompetitivePricesr.   ZNumberOfOfferListingsr   ZTradeInValuer   r   r   r   r     s   r   c               @   s   e Zd ZdS )	SalesRankN)r   r   r   r   r   r   r   r     s   r   c               @   s    e Zd Zee dZeeZdS )LowestOfferListing)ZShippingTimeN)r   r   r   r-   Z
Qualifiersr   r   r   r   r   r     s   r   c               @   s   e Zd ZeeZeeZdS )OfferN)r   r   r   r-   r   ZBuyingPricer   ZRegularPricer   r   r   r   r     s   r   c               @   sn   e Zd ZdZee e dZeeedZeee	dZ
eeZeeedZeeedZeeedZdS )	ProductZns2)r   r   )r   )ZVariationParent)r   )r   )r   N)r   r   r   rN   r-   r   r2   r   ZAttributeSetsr   ZRelationshipsr   r   ZSalesRankingsr   ZLowestOfferListingsr   ZOffersr   r   r   r   r     s   
r   c               @   s   e Zd ZeeedZdS )ListMatchingProductsResult)r   N)r   r   r   r-   r2   r   ZProductsr   r   r   r   r   2  s   r   c               @   s   e Zd ZeeZe ZdS )ProductsBulkOperationResultN)r   r   r   r-   r   Errorr   r   r   r   r   6  s   r   c               @   s   e Zd ZeZdS )ProductsBulkOperationResponseN)r   r   r   r   ro   r   r   r   r   r   ;  s   r   c               @   s   e Zd ZdS )GetMatchingProductResponseN)r   r   r   r   r   r   r   r   ?  s   r   c               @   s   e Zd ZdS )GetMatchingProductForIdResultN)r   r   r   r   r   r   r   r   C  s   r   c               @   s   e Zd ZeZdS )GetMatchingProductForIdResponseN)r   r   r   r   ro   r   r   r   r   r   G  s   r   c               @   s   e Zd ZdS )#GetCompetitivePricingForSKUResponseN)r   r   r   r   r   r   r   r   K  s   r   c               @   s   e Zd ZdS )$GetCompetitivePricingForASINResponseN)r   r   r   r   r   r   r   r   O  s   r   c               @   s   e Zd ZdS )$GetLowestOfferListingsForSKUResponseN)r   r   r   r   r   r   r   r   S  s   r   c               @   s   e Zd ZdS )%GetLowestOfferListingsForASINResponseN)r   r   r   r   r   r   r   r   W  s   r   c               @   s   e Zd ZdS )GetMyPriceForSKUResponseN)r   r   r   r   r   r   r   r   [  s   r   c               @   s   e Zd ZdS )GetMyPriceForASINResponseN)r   r   r   r   r   r   r   r   _  s   r   c                   s   e Zd Z fddZ  ZS )ProductCategoryc                s&   t | dtt tt| j|| d S )NZParent)r   r-   r   r/   r"   )r   r'   r   )r   r   r   r"   e  s    zProductCategory.__init__)r   r   r   r"   r1   r   r   )r   r   r   c  s   r   c               @   s   e Zd ZeeZdS )GetProductCategoriesResultN)r   r   r   r2   r   ZSelfr   r   r   r   r   j  s   r   c               @   s   e Zd ZdS ) GetProductCategoriesForSKUResultN)r   r   r   r   r   r   r   r   n  s   r   c               @   s   e Zd ZdS )!GetProductCategoriesForASINResultN)r   r   r   r   r   r   r   r   r  s   r   c               @   s4   e Zd ZeeZe ZeeeeedddZdS )Order)ZPayment)ZPaymentExecutionDetailItemN)	r   r   r   r-   r   
OrderTotalShippingAddressr2   ZPaymentExecutionDetailr   r   r   r   r   v  s   r   c               @   s   e Zd ZeeedZdS )ListOrdersResult)r   N)r   r   r   r-   r2   r   ZOrdersr   r   r   r   r     s   r   c               @   s   e Zd ZdS )GetOrderResultN)r   r   r   r   r   r   r   r     s   r   c               @   sb   e Zd ZeeZeeZeeZeeZeeZ	eeZ
eeZeeZe ZeeZeeZdS )	OrderItemN)r   r   r   r-   r   Z	ItemPriceZShippingPriceZGiftWrapPriceZItemTaxZShippingTaxZGiftWrapTaxZShippingDiscountZPromotionDiscountr.   ZPromotionIdsZCODFeeZCODFeeDiscountr   r   r   r   r     s   r   c               @   s   e Zd ZeeedZdS )ListOrderItemsResult)r   N)r   r   r   r-   r2   r   Z
OrderItemsr   r   r   r   r     s   r   c               @   s$   e Zd Zee dZee dZdS )#ListMarketplaceParticipationsResult)ZParticipation)ZMarketplaceN)r   r   r   r-   r2   ZListParticipationsZListMarketplacesr   r   r   r   r     s   r   c               @   s   e Zd Zee dZdS )ListRecommendationsResult)ZItemIdentifierN)r   r   r   r3   r-   ZListingQualityRecommendationsr   r   r   r   r     s   r   c               @   s*   e Zd Ze Zee dZee dZdS )Customer)r   )ZMarketplaceDomainN)r   r   r   r-   ZPrimaryContactInfor2   ZShippingAddressListZAssociatedMarketplacesr   r   r   r   r     s   r   c               @   s   e Zd ZeeedZdS )ListCustomersResult)r   N)r   r   r   r-   r2   r   ZCustomerListr   r   r   r   r     s   r   c               @   s   e Zd ZdS )GetCustomersForCustomerIdResultN)r   r   r   r   r   r   r   r     s   r   c               @   s   e Zd ZeeZeeZdS )CartItemN)r   r   r   r-   r   ZCurrentPriceZ	SalePricer   r   r   r   r     s   r   c               @   s(   e Zd ZeeedZeeedZdS )Cart)r   N)r   r   r   r-   r2   r   ZActiveCartItemListZSavedCartItemListr   r   r   r   r     s   r   c               @   s   e Zd ZeeedZdS )ListCartsResult)r   N)r   r   r   r-   r2   r   ZCartListr   r   r   r   r     s   r   c               @   s   e Zd ZdS )GetCartsResultN)r   r   r   r   r   r   r   r     s   r   c               @   s   e Zd Ze ZdS )DestinationN)r   r   r   r3   ZAttributeListr   r   r   r   r     s   r   c               @   s   e Zd ZeeZdS ) ListRegisteredDestinationsResultN)r   r   r   r3   r   ZDestinationListr   r   r   r   r     s   r   c               @   s   e Zd ZeeZdS )SubscriptionN)r   r   r   r-   r   r   r   r   r   r     s   r   c               @   s   e Zd ZeeZdS )GetSubscriptionResultN)r   r   r   r-   r   r   r   r   r   r     s   r   c               @   s   e Zd ZeeZdS )ListSubscriptionsResultN)r   r   r   r3   r   ZSubscriptionListr   r   r   r   r     s   r   c               @   s8   e Zd Ze ZeeZee dZe Ze Z	e
 ZdS )OrderReferenceDetails)ZPhysicalDestinationN)r   r   r   r-   ZBuyerr   r   r   ZSellerOrderAttributesZOrderReferenceStatusr2   ZConstraintsr   r   r   r   r     s   r   c               @   s   e Zd ZeeZdS )SetOrderReferenceDetailsResultN)r   r   r   r-   r   r   r   r   r   r     s   r   c               @   s   e Zd ZdS )GetOrderReferenceDetailsResultN)r   r   r   r   r   r   r   r     s   r   c               @   s*   e Zd ZeeZeeZeeZe ZdS )AuthorizationDetailsN)	r   r   r   r-   r   ZAuthorizationAmountZCapturedAmountZAuthorizationFeeZAuthorizationStatusr   r   r   r   r     s   r   c               @   s   e Zd ZeeZdS )AuthorizeResultN)r   r   r   r-   r   r   r   r   r   r     s   r   c               @   s   e Zd ZdS )GetAuthorizationDetailsResultN)r   r   r   r   r   r   r   r     s   r   c               @   s*   e Zd ZeeZeeZeeZe ZdS )CaptureDetailsN)	r   r   r   r-   r   ZCaptureAmountZRefundedAmountZ
CaptureFeeZCaptureStatusr   r   r   r   r     s   r   c               @   s   e Zd ZeeZdS )CaptureResultN)r   r   r   r-   r   r   r   r   r   r      s   r   c               @   s   e Zd ZdS )GetCaptureDetailsResultN)r   r   r   r   r   r   r   r     s   r   c               @   s"   e Zd ZeeZeeZe ZdS )RefundDetailsN)r   r   r   r-   r   ZRefundAmountZFeeRefundedZRefundStatusr   r   r   r   r     s   r   c               @   s   e Zd ZeeZdS )RefundResultN)r   r   r   r-   r   r   r   r   r   r     s   r   c               @   s   e Zd ZdS )GetRefundDetailsN)r   r   r   r   r   r   r   r     s   r   N)kZdecimalr   Zboto.compatr   r   rV   r   objectr   r-   r.   r2   r3   r9   rR   r   rH   rn   rp   rq   rr   rs   rt   ru   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   s   
(	
$	E
			