<s> from decimal import Decimal <EOL> from boto . compat import filter , map <EOL> class ComplexType ( dict ) : <EOL> _value = '<STR_LIT>' <EOL> def __repr__ ( self ) : <EOL> return '<STR_LIT>' . format ( getattr ( self , self . _value , None ) , self . copy ( ) ) <EOL> def __str__ ( self ) : <EOL> return str ( getattr ( self , self . _value , '<STR_LIT>' ) ) <EOL> class DeclarativeType ( object ) : <EOL> def __init__ ( self , _hint = None , ** kw ) : <EOL> self . _value = None <EOL> if _hint is not None : <EOL> self . _hint = _hint <EOL> return <EOL> class JITResponse ( ResponseElement ) : <EOL> pass <EOL> self . _hint = JITResponse <EOL> self . _hint . __name__ = '<STR_LIT>' . format ( self . __class__ . __name__ , <EOL> hex ( id ( self . _hint ) ) [ <NUM_LIT:2> : ] ) <EOL> for name , value in kw . items ( ) : <EOL> setattr ( self . _hint , name , value ) <EOL> def __repr__ ( self ) : <EOL> parent = getattr ( self , '<STR_LIT>' , None ) <EOL> return '<STR_LIT>' . format ( self . __class__ . __name__ , <EOL> parent and parent . _name or '<STR_LIT:?>' , <EOL> getattr ( self , '<STR_LIT>' , '<STR_LIT:?>' ) , <EOL> hex ( id ( self . __class__ ) ) ) <EOL> def setup ( self , parent , name , * args , ** kw ) : <EOL> self . _parent = parent <EOL> self . _name = name <EOL> self . _clone = self . __class__ ( _hint = self . _hint ) <EOL> self . _clone . _parent = parent <EOL> self . _clone . _name = name <EOL> setattr ( self . _parent , self . _name , self . _clone ) <EOL> def start ( self , * args , ** kw ) : <EOL> raise NotImplementedError <EOL> def end ( self , * args , ** kw ) : <EOL> raise NotImplementedError <EOL> def teardown ( self , * args , ** kw ) : <EOL> setattr ( self . _parent , self . _name , self . _value ) <EOL> class Element ( DeclarativeType ) : <EOL> def start ( self , * args , ** kw ) : <EOL> self . _value = self . _hint ( parent = self . _parent , ** kw ) <EOL> return self . _value <EOL> def end ( self , * args , ** kw ) : <EOL> pass <EOL> class SimpleList ( DeclarativeType ) : <EOL> def __init__ ( self , * args , ** kw ) : <EOL> super ( SimpleList , self ) . __init__ ( * args , ** kw ) <EOL> self . _value = [ ] <EOL> def start ( self , * args , ** kw ) : <EOL> return None <EOL> def end ( self , name , value , * args , ** kw ) : <EOL> self . _value . append ( value ) <EOL> class ElementList ( SimpleList ) : <EOL> def start ( self , * args , ** kw ) : <EOL> value = self . _hint ( parent = self . _parent , ** kw ) <EOL> self . _value . append ( value ) <EOL> return value <EOL> def end ( self , * args , ** kw ) : <EOL> pass <EOL> class MemberList ( Element ) : <EOL> def __init__ ( self , _member = None , _hint = None , * args , ** kw ) : <EOL> message = '<STR_LIT>' . format ( self . __class__ . __name__ ) <EOL> assert '<STR_LIT>' not in kw , message <EOL> if _member is None : <EOL> if _hint is None : <EOL> super ( MemberList , self ) . __init__ ( * args , member = ElementList ( ** kw ) ) <EOL> else : <EOL> super ( MemberList , self ) . __init__ ( _hint = _hint ) <EOL> else : <EOL> if _hint is None : <EOL> if issubclass ( _member , DeclarativeType ) : <EOL> member = _member ( ** kw ) <EOL> else : <EOL> member = ElementList ( _member , ** kw ) <EOL> super ( MemberList , self ) . __init__ ( * args , member = member ) <EOL> else : <EOL> message = '<STR_LIT>' . format ( self . __class__ . __name__ , <EOL> _hint ) <EOL> raise AssertionError ( message ) <EOL> def teardown ( self , * args , ** kw ) : <EOL> if self . _value is None : <EOL> self . _value = [ ] <EOL> else : <EOL> if isinstance ( self . _value . member , DeclarativeType ) : <EOL> self . _value . member = [ ] <EOL> self . _value = self . _value . member <EOL> super ( MemberList , self ) . teardown ( * args , ** kw ) <EOL> class ResponseFactory ( object ) : <EOL> def __init__ ( self , scopes = None ) : <EOL> self . scopes = [ ] if scopes is None else scopes <EOL> def element_factory ( self , name , parent ) : <EOL> class DynamicElement ( parent ) : <EOL> _name = name <EOL> setattr ( DynamicElement , '<STR_LIT>' , str ( name ) ) <EOL> return DynamicElement <EOL> def search_scopes ( self , key ) : <EOL> for scope in self . scopes : <EOL> if hasattr ( scope , key ) : <EOL> return getattr ( scope , key ) <EOL> if hasattr ( scope , '<STR_LIT>' ) : <EOL> if key in scope : <EOL> return scope [ key ] <EOL> def find_element ( self , action , suffix , parent ) : <EOL> element = self . search_scopes ( action + suffix ) <EOL> if element is not None : <EOL> return element <EOL> if action . endswith ( '<STR_LIT>' ) : <EOL> element = self . search_scopes ( action [ : - len ( '<STR_LIT>' ) ] + suffix ) <EOL> if element is not None : <EOL> return self . element_factory ( action + suffix , element ) <EOL> return self . element_factory ( action + suffix , parent ) <EOL> def __call__ ( self , action , connection = None ) : <EOL> response = self . find_element ( action , '<STR_LIT>' , Response ) <EOL> if not hasattr ( response , action + '<STR_LIT>' ) : <EOL> result = self . find_element ( action , '<STR_LIT>' , ResponseElement ) <EOL> setattr ( response , action + '<STR_LIT>' , Element ( result ) ) <EOL> return response ( connection = connection ) <EOL> def strip_namespace ( func ) : <EOL> def wrapper ( self , name , * args , ** kw ) : <EOL> if self . _namespace is not None : <EOL> if name . startswith ( self . _namespace + '<STR_LIT::>' ) : <EOL> name = name [ len ( self . _namespace + '<STR_LIT::>' ) : ] <EOL> return func ( self , name , * args , ** kw ) <EOL> return wrapper <EOL> class ResponseElement ( dict ) : <EOL> _override = { } <EOL> _name = None <EOL> _namespace = None <EOL> def __init__ ( self , connection = None , name = None , parent = None , attrs = None ) : <EOL> if parent is not None and self . _namespace is None : <EOL> self . _namespace = parent . _namespace <EOL> if connection is not None : <EOL> self . _connection = connection <EOL> self . _name = name or self . _name or self . __class__ . __name__ <EOL> self . _declared ( '<STR_LIT>' , attrs = attrs ) <EOL> dict . __init__ ( self , attrs and attrs . copy ( ) or { } ) <EOL> def _declared ( self , op , ** kw ) : <EOL> def inherit ( obj ) : <EOL> result = { } <EOL> for cls in getattr ( obj , '<STR_LIT>' , ( ) ) : <EOL> result . update ( inherit ( cls ) ) <EOL> result . update ( obj . __dict__ ) <EOL> return result <EOL> scope = inherit ( self . __class__ ) <EOL> scope . update ( self . __dict__ ) <EOL> declared = lambda attr : isinstance ( attr [ <NUM_LIT:1> ] , DeclarativeType ) <EOL> for name , node in filter ( declared , scope . items ( ) ) : <EOL> getattr ( node , op ) ( self , name , parentname = self . _name , ** kw ) <EOL> @ property <EOL> def connection ( self ) : <EOL> return self . _connection <EOL> def __repr__ ( self ) : <EOL> render = lambda pair : '<STR_LIT>' . format ( * pair ) <EOL> do_show = lambda pair : not pair [ <NUM_LIT:0> ] . startswith ( '<STR_LIT:_>' ) <EOL> attrs = filter ( do_show , self . __dict__ . items ( ) ) <EOL> name = self . __class__ . __name__ <EOL> if name . startswith ( '<STR_LIT>' ) : <EOL> name = '<STR_LIT>' . format ( self . _name or '<STR_LIT>' ) <EOL> return '<STR_LIT>' . format ( <EOL> name , self . copy ( ) , '<STR_LIT:U+002CU+0020>' . join ( map ( render , attrs ) ) ) <EOL> def _type_for ( self , name , attrs ) : <EOL> return self . _override . get ( name , globals ( ) . get ( name , ResponseElement ) ) <EOL> @ strip_namespace <EOL> def startElement ( self , name , attrs , connection ) : <EOL> attribute = getattr ( self , name , None ) <EOL> if isinstance ( attribute , DeclarativeType ) : <EOL> return attribute . start ( name = name , attrs = attrs , <EOL> connection = connection ) <EOL> elif attrs . getLength ( ) : <EOL> setattr ( self , name , ComplexType ( attrs . copy ( ) ) ) <EOL> else : <EOL> return None <EOL> @ strip_namespace <EOL> def endElement ( self , name , value , connection ) : <EOL> attribute = getattr ( self , name , None ) <EOL> if name == self . _name : <EOL> self . _declared ( '<STR_LIT>' ) <EOL> elif isinstance ( attribute , DeclarativeType ) : <EOL> attribute . end ( name = name , value = value , connection = connection ) <EOL> elif isinstance ( attribute , ComplexType ) : <EOL> setattr ( attribute , attribute . _value , value ) <EOL> else : <EOL> setattr ( self , name , value ) <EOL> class Response ( ResponseElement ) : <EOL> ResponseMetadata = Element ( ) <EOL> @ strip_namespace <EOL> def startElement ( self , name , attrs , connection ) : <EOL> if name == self . _name : <EOL> self . update ( attrs ) <EOL> else : <EOL> return super ( Response , self ) . startElement ( name , attrs , connection ) <EOL> @ property <EOL> def _result ( self ) : <EOL> return getattr ( self , self . _action + '<STR_LIT>' , None ) <EOL> @ property <EOL> def _action ( self ) : <EOL> return ( self . _name or self . __class__ . __name__ ) [ : - len ( '<STR_LIT>' ) ] <EOL> class ResponseResultList ( Response ) : <EOL> _ResultClass = ResponseElement <EOL> def __init__ ( self , * args , ** kw ) : <EOL> setattr ( self , self . _action + '<STR_LIT>' , ElementList ( self . _ResultClass ) ) <EOL> super ( ResponseResultList , self ) . __init__ ( * args , ** kw ) <EOL> class FeedSubmissionInfo ( ResponseElement ) : <EOL> pass <EOL> class SubmitFeedResult ( ResponseElement ) : <EOL> FeedSubmissionInfo = Element ( FeedSubmissionInfo ) <EOL> class GetFeedSubmissionListResult ( ResponseElement ) : <EOL> FeedSubmissionInfo = ElementList ( FeedSubmissionInfo ) <EOL> class GetFeedSubmissionCountResult ( ResponseElement ) : <EOL> pass <EOL> class CancelFeedSubmissionsResult ( GetFeedSubmissionListResult ) : <EOL> pass <EOL> class GetServiceStatusResult ( ResponseElement ) : <EOL> Messages = Element ( Messages = ElementList ( ) ) <EOL> class ReportRequestInfo ( ResponseElement ) : <EOL> pass <EOL> class RequestReportResult ( ResponseElement ) : <EOL> ReportRequestInfo = Element ( ) <EOL> class GetReportRequestListResult ( RequestReportResult ) : <EOL> ReportRequestInfo = ElementList ( ) <EOL> class CancelReportRequestsResult ( RequestReportResult ) : <EOL> pass <EOL> class GetReportListResult ( ResponseElement ) : <EOL> ReportInfo = ElementList ( ) <EOL> class ManageReportScheduleResult ( ResponseElement ) : <EOL> ReportSchedule = Element ( ) <EOL> class GetReportScheduleListResult ( ManageReportScheduleResult ) : <EOL> pass <EOL> class UpdateReportAcknowledgementsResult ( GetReportListResult ) : <EOL> pass <EOL> class CreateInboundShipmentPlanResult ( ResponseElement ) : <EOL> InboundShipmentPlans = MemberList ( ShipToAddress = Element ( ) , <EOL> Items = MemberList ( ) ) <EOL> class ListInboundShipmentsResult ( ResponseElement ) : <EOL> ShipmentData = MemberList ( ShipFromAddress = Element ( ) ) <EOL> class ListInboundShipmentItemsResult ( ResponseElement ) : <EOL> ItemData = MemberList ( ) <EOL> class ListInventorySupplyResult ( ResponseElement ) : <EOL> InventorySupplyList = MemberList ( <EOL> EarliestAvailability = Element ( ) , <EOL> SupplyDetail = MemberList ( <EOL> EarliestAvailableToPick = Element ( ) , <EOL> LatestAvailableToPick = Element ( ) , <EOL> ) <EOL> ) <EOL> class ComplexAmount ( ResponseElement ) : <EOL> _amount = '<STR_LIT>' <EOL> def __repr__ ( self ) : <EOL> return '<STR_LIT>' . format ( self . CurrencyCode , getattr ( self , self . _amount ) ) <EOL> def __float__ ( self ) : <EOL> return float ( getattr ( self , self . _amount ) ) <EOL> def __str__ ( self ) : <EOL> return str ( getattr ( self , self . _amount ) ) <EOL> @ strip_namespace <EOL> def startElement ( self , name , attrs , connection ) : <EOL> if name not in ( '<STR_LIT>' , self . _amount ) : <EOL> message = '<STR_LIT>' . format ( name ) <EOL> raise AssertionError ( message ) <EOL> return super ( ComplexAmount , self ) . startElement ( name , attrs , connection ) <EOL> @ strip_namespace <EOL> def endElement ( self , name , value , connection ) : <EOL> if name == self . _amount : <EOL> value = Decimal ( value ) <EOL> super ( ComplexAmount , self ) . endElement ( name , value , connection ) <EOL> class ComplexMoney ( ComplexAmount ) : <EOL> _amount = '<STR_LIT>' <EOL> class ComplexWeight ( ResponseElement ) : <EOL> def __repr__ ( self ) : <EOL> return '<STR_LIT>' . format ( self . Value , self . Unit ) <EOL> def __float__ ( self ) : <EOL> return float ( self . Value ) <EOL> def __str__ ( self ) : <EOL> return str ( self . Value ) <EOL> @ strip_namespace <EOL> def startElement ( self , name , attrs , connection ) : <EOL> if name not in ( '<STR_LIT>' , '<STR_LIT>' ) : <EOL> message = '<STR_LIT>' . format ( name ) <EOL> raise AssertionError ( message ) <EOL> return super ( ComplexWeight , self ) . startElement ( name , attrs , connection ) <EOL> @ strip_namespace <EOL> def endElement ( self , name , value , connection ) : <EOL> if name == '<STR_LIT>' : <EOL> value = Decimal ( value ) <EOL> super ( ComplexWeight , self ) . endElement ( name , value , connection ) <EOL> class Dimension ( ComplexType ) : <EOL> _value = '<STR_LIT>' <EOL> class ComplexDimensions ( ResponseElement ) : <EOL> _dimensions = ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) <EOL> def __repr__ ( self ) : <EOL> values = [ getattr ( self , key , None ) for key in self . _dimensions ] <EOL> values = filter ( None , values ) <EOL> return '<STR_LIT:x>' . join ( map ( '<STR_LIT>' . format , values ) ) <EOL> @ strip_namespace <EOL> def startElement ( self , name , attrs , connection ) : <EOL> if name not in self . _dimensions : <EOL> message = '<STR_LIT>' . format ( name ) <EOL> raise AssertionError ( message ) <EOL> setattr ( self , name , Dimension ( attrs . copy ( ) ) ) <EOL> @ strip_namespace <EOL> def endElement ( self , name , value , connection ) : <EOL> if name in self . _dimensions : <EOL> value = Decimal ( value or '<STR_LIT:0>' ) <EOL> ResponseElement . endElement ( self , name , value , connection ) <EOL> class FulfillmentPreviewItem ( ResponseElement ) : <EOL> EstimatedShippingWeight = Element ( ComplexWeight ) <EOL> class FulfillmentPreview ( ResponseElement ) : <EOL> EstimatedShippingWeight = Element ( ComplexWeight ) <EOL> EstimatedFees = MemberList ( Amount = Element ( ComplexAmount ) ) <EOL> UnfulfillablePreviewItems = MemberList ( FulfillmentPreviewItem ) <EOL> FulfillmentPreviewShipments = MemberList ( <EOL> FulfillmentPreviewItems = MemberList ( FulfillmentPreviewItem ) , <EOL> ) <EOL> class GetFulfillmentPreviewResult ( ResponseElement ) : <EOL> FulfillmentPreviews = MemberList ( FulfillmentPreview ) <EOL> class FulfillmentOrder ( ResponseElement ) : <EOL> DestinationAddress = Element ( ) <EOL> NotificationEmailList = MemberList ( SimpleList ) <EOL> class GetFulfillmentOrderResult ( ResponseElement ) : <EOL> FulfillmentOrder = Element ( FulfillmentOrder ) <EOL> FulfillmentShipment = MemberList ( <EOL> FulfillmentShipmentItem = MemberList ( ) , <EOL> FulfillmentShipmentPackage = MemberList ( ) , <EOL> ) <EOL> FulfillmentOrderItem = MemberList ( ) <EOL> class ListAllFulfillmentOrdersResult ( ResponseElement ) : <EOL> FulfillmentOrders = MemberList ( FulfillmentOrder ) <EOL> class GetPackageTrackingDetailsResult ( ResponseElement ) : <EOL> ShipToAddress = Element ( ) <EOL> TrackingEvents = MemberList ( EventAddress = Element ( ) ) <EOL> class Image ( ResponseElement ) : <EOL> pass <EOL> class AttributeSet ( ResponseElement ) : <EOL> ItemDimensions = Element ( ComplexDimensions ) <EOL> ListPrice = Element ( ComplexMoney ) <EOL> PackageDimensions = Element ( ComplexDimensions ) <EOL> SmallImage = Element ( Image ) <EOL> class ItemAttributes ( AttributeSet ) : <EOL> Languages = Element ( Language = ElementList ( ) ) <EOL> def __init__ ( self , * args , ** kw ) : <EOL> names = ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) <EOL> for name in names : <EOL> setattr ( self , name , SimpleList ( ) ) <EOL> super ( ItemAttributes , self ) . __init__ ( * args , ** kw ) <EOL> class VariationRelationship ( ResponseElement ) : <EOL> Identifiers = Element ( MarketplaceASIN = Element ( ) , <EOL> SKUIdentifier = Element ( ) ) <EOL> GemType = SimpleList ( ) <EOL> MaterialType = SimpleList ( ) <EOL> OperatingSystem = SimpleList ( ) <EOL> class Price ( ResponseElement ) : <EOL> LandedPrice = Element ( ComplexMoney ) <EOL> ListingPrice = Element ( ComplexMoney ) <EOL> Shipping = Element ( ComplexMoney ) <EOL> class CompetitivePrice ( ResponseElement ) : <EOL> Price = Element ( Price ) <EOL> class CompetitivePriceList ( ResponseElement ) : <EOL> CompetitivePrice = ElementList ( CompetitivePrice ) <EOL> class CompetitivePricing ( ResponseElement ) : <EOL> CompetitivePrices = Element ( CompetitivePriceList ) <EOL> NumberOfOfferListings = SimpleList ( ) <EOL> TradeInValue = Element ( ComplexMoney ) <EOL> class SalesRank ( ResponseElement ) : <EOL> pass <EOL> class LowestOfferListing ( ResponseElement ) : <EOL> Qualifiers = Element ( ShippingTime = Element ( ) ) <EOL> Price = Element ( Price ) <EOL> class Offer ( ResponseElement ) : <EOL> BuyingPrice = Element ( Price ) <EOL> RegularPrice = Element ( ComplexMoney ) <EOL> class Product ( ResponseElement ) : <EOL> _namespace = '<STR_LIT>' <EOL> Identifiers = Element ( MarketplaceASIN = Element ( ) , <EOL> SKUIdentifier = Element ( ) ) <EOL> AttributeSets = Element ( <EOL> ItemAttributes = ElementList ( ItemAttributes ) , <EOL> ) <EOL> Relationships = Element ( <EOL> VariationParent = ElementList ( VariationRelationship ) , <EOL> ) <EOL> CompetitivePricing = ElementList ( CompetitivePricing ) <EOL> SalesRankings = Element ( <EOL> SalesRank = ElementList ( SalesRank ) , <EOL> ) <EOL> LowestOfferListings = Element ( <EOL> LowestOfferListing = ElementList ( LowestOfferListing ) , <EOL> ) <EOL> Offers = Element ( <EOL> Offer = ElementList ( Offer ) , <EOL> ) <EOL> class ListMatchingProductsResult ( ResponseElement ) : <EOL> Products = Element ( Product = ElementList ( Product ) ) <EOL> class ProductsBulkOperationResult ( ResponseElement ) : <EOL> Product = Element ( Product ) <EOL> Error = Element ( ) <EOL> class ProductsBulkOperationResponse ( ResponseResultList ) : <EOL> _ResultClass = ProductsBulkOperationResult <EOL> class GetMatchingProductResponse ( ProductsBulkOperationResponse ) : <EOL> pass <EOL> class GetMatchingProductForIdResult ( ListMatchingProductsResult ) : <EOL> pass <EOL> class GetMatchingProductForIdResponse ( ResponseResultList ) : <EOL> _ResultClass = GetMatchingProductForIdResult <EOL> class GetCompetitivePricingForSKUResponse ( ProductsBulkOperationResponse ) : <EOL> pass <EOL> class GetCompetitivePricingForASINResponse ( ProductsBulkOperationResponse ) : <EOL> pass <EOL> class GetLowestOfferListingsForSKUResponse ( ProductsBulkOperationResponse ) : <EOL> pass <EOL> class GetLowestOfferListingsForASINResponse ( ProductsBulkOperationResponse ) : <EOL> pass <EOL> class GetMyPriceForSKUResponse ( ProductsBulkOperationResponse ) : <EOL> pass <EOL> class GetMyPriceForASINResponse ( ProductsBulkOperationResponse ) : <EOL> pass <EOL> class ProductCategory ( ResponseElement ) : <EOL> def __init__ ( self , * args , ** kw ) : <EOL> setattr ( self , '<STR_LIT>' , Element ( ProductCategory ) ) <EOL> super ( ProductCategory , self ) . __init__ ( * args , ** kw ) <EOL> class GetProductCategoriesResult ( ResponseElement ) : <EOL> Self = ElementList ( ProductCategory ) <EOL> class GetProductCategoriesForSKUResult ( GetProductCategoriesResult ) : <EOL> pass <EOL> class GetProductCategoriesForASINResult ( GetProductCategoriesResult ) : <EOL> pass <EOL> class Order ( ResponseElement ) : <EOL> OrderTotal = Element ( ComplexMoney ) <EOL> ShippingAddress = Element ( ) <EOL> PaymentExecutionDetail = Element ( <EOL> PaymentExecutionDetailItem = ElementList ( <EOL> PaymentExecutionDetailItem = Element ( <EOL> Payment = Element ( ComplexMoney ) <EOL> ) <EOL> ) <EOL> ) <EOL> class ListOrdersResult ( ResponseElement ) : <EOL> Orders = Element ( Order = ElementList ( Order ) ) <EOL> class GetOrderResult ( ListOrdersResult ) : <EOL> pass <EOL> class OrderItem ( ResponseElement ) : <EOL> ItemPrice = Element ( ComplexMoney ) <EOL> ShippingPrice = Element ( ComplexMoney ) <EOL> GiftWrapPrice = Element ( ComplexMoney ) <EOL> ItemTax = Element ( ComplexMoney ) <EOL> ShippingTax = Element ( ComplexMoney ) <EOL> GiftWrapTax = Element ( ComplexMoney ) <EOL> ShippingDiscount = Element ( ComplexMoney ) <EOL> PromotionDiscount = Element ( ComplexMoney ) <EOL> PromotionIds = SimpleList ( ) <EOL> CODFee = Element ( ComplexMoney ) <EOL> CODFeeDiscount = Element ( ComplexMoney ) <EOL> class ListOrderItemsResult ( ResponseElement ) : <EOL> OrderItems = Element ( OrderItem = ElementList ( OrderItem ) ) <EOL> class ListMarketplaceParticipationsResult ( ResponseElement ) : <EOL> ListParticipations = Element ( Participation = ElementList ( ) ) <EOL> ListMarketplaces = Element ( Marketplace = ElementList ( ) ) <EOL> class ListRecommendationsResult ( ResponseElement ) : <EOL> ListingQualityRecommendations = MemberList ( ItemIdentifier = Element ( ) ) <EOL> class Customer ( ResponseElement ) : <EOL> PrimaryContactInfo = Element ( ) <EOL> ShippingAddressList = Element ( ShippingAddress = ElementList ( ) ) <EOL> AssociatedMarketplaces = Element ( MarketplaceDomain = ElementList ( ) ) <EOL> class ListCustomersResult ( ResponseElement ) : <EOL> CustomerList = Element ( Customer = ElementList ( Customer ) ) <EOL> class GetCustomersForCustomerIdResult ( ListCustomersResult ) : <EOL> pass <EOL> class CartItem ( ResponseElement ) : <EOL> CurrentPrice = Element ( ComplexMoney ) <EOL> SalePrice = Element ( ComplexMoney ) <EOL> class Cart ( ResponseElement ) : <EOL> ActiveCartItemList = Element ( CartItem = ElementList ( CartItem ) ) <EOL> SavedCartItemList = Element ( CartItem = ElementList ( CartItem ) ) <EOL> class ListCartsResult ( ResponseElement ) : <EOL> CartList = Element ( Cart = ElementList ( Cart ) ) <EOL> class GetCartsResult ( ListCartsResult ) : <EOL> pass <EOL> class Destination ( ResponseElement ) : <EOL> AttributeList = MemberList ( ) <EOL> class ListRegisteredDestinationsResult ( ResponseElement ) : <EOL> DestinationList = MemberList ( Destination ) <EOL> class Subscription ( ResponseElement ) : <EOL> Destination = Element ( Destination ) <EOL> class GetSubscriptionResult ( ResponseElement ) : <EOL> Subscription = Element ( Subscription ) <EOL> class ListSubscriptionsResult ( ResponseElement ) : <EOL> SubscriptionList = MemberList ( Subscription ) <EOL> class OrderReferenceDetails ( ResponseElement ) : <EOL> Buyer = Element ( ) <EOL> OrderTotal = Element ( ComplexMoney ) <EOL> Destination = Element ( PhysicalDestination = Element ( ) ) <EOL> SellerOrderAttributes = Element ( ) <EOL> OrderReferenceStatus = Element ( ) <EOL> Constraints = ElementList ( ) <EOL> class SetOrderReferenceDetailsResult ( ResponseElement ) : <EOL> OrderReferenceDetails = Element ( OrderReferenceDetails ) <EOL> class GetOrderReferenceDetailsResult ( SetOrderReferenceDetailsResult ) : <EOL> pass <EOL> class AuthorizationDetails ( ResponseElement ) : <EOL> AuthorizationAmount = Element ( ComplexMoney ) <EOL> CapturedAmount = Element ( ComplexMoney ) <EOL> AuthorizationFee = Element ( ComplexMoney ) <EOL> AuthorizationStatus = Element ( ) <EOL> class AuthorizeResult ( ResponseElement ) : <EOL> AuthorizationDetails = Element ( AuthorizationDetails ) <EOL> class GetAuthorizationDetailsResult ( AuthorizeResult ) : <EOL> pass <EOL> class CaptureDetails ( ResponseElement ) : <EOL> CaptureAmount = Element ( ComplexMoney ) <EOL> RefundedAmount = Element ( ComplexMoney ) <EOL> CaptureFee = Element ( ComplexMoney ) <EOL> CaptureStatus = Element ( ) <EOL> class CaptureResult ( ResponseElement ) : <EOL> CaptureDetails = Element ( CaptureDetails ) <EOL> class GetCaptureDetailsResult ( CaptureResult ) : <EOL> pass <EOL> class RefundDetails ( ResponseElement ) : <EOL> RefundAmount = Element ( ComplexMoney ) <EOL> FeeRefunded = Element ( ComplexMoney ) <EOL> RefundStatus = Element ( ) <EOL> class RefundResult ( ResponseElement ) : <EOL> RefundDetails = Element ( RefundDetails ) <EOL> class GetRefundDetails ( RefundResult ) : <EOL> pass </s>
