コード例 #1
0
ファイル: objectify.py プロジェクト: smaharj1/Nora-Python
    def parse_cart(cls, node):
        """
        Returns an instance of :class:`amazonproduct.contrib.Cart` based on
        information extracted from ``node``.
        """
        cart = Cart()
        # TODO This is probably not the safest way to get <Cart>
        root = node.Cart
        cart.cart_id = root.CartId.pyval
        cart.hmac = root.HMAC.pyval

        def parse_item(item_node):
            item = Item()
            item.item_id = item_node.CartItemId.pyval
            item.asin = item_node.ASIN.pyval
            item.seller = item_node.SellerNickname.pyval
            item.quantity = item_node.Quantity.pyval
            item.title = item_node.Title.pyval
            item.product_group = item_node.ProductGroup.pyval
            item.price = (item_node.Price.Amount.pyval,
                          item_node.Price.CurrencyCode.pyval)
            item.total = (item_node.ItemTotal.Amount.pyval,
                          item_node.ItemTotal.CurrencyCode.pyval)
            return item

        try:
            for item_node in root.CartItems.CartItem:
                cart.items.append(parse_item(item_node))
            cart.url = root.PurchaseURL.pyval
            cart.subtotal = (root.SubTotal.Amount, root.SubTotal.CurrencyCode)
        except AttributeError:
            cart.url = None
            cart.subtotal = None
        return cart
コード例 #2
0
    def parse_cart(cls, node):
        """
        Returns an instance of :class:`amazonproduct.contrib.Cart` based on
        information extracted from ``node``.
        """
        _nspace = extract_nspace(node)
        _xpath = lambda path: path.replace('{}', _nspace)
        root = node.find(_xpath('.//{}Cart'))


        cart = Cart()
        cart.cart_id = root.findtext(_xpath('./{}CartId'))
        cart.hmac = root.findtext(_xpath('./{}HMAC'))
        cart.url = root.findtext(_xpath('./{}PurchaseURL'))

        def parse_item(item_node):
            item = Item()
            item.item_id = item_node.findtext(_xpath('./{}CartItemId'))
            item.asin = item_node.findtext(_xpath('./{}ASIN'))
            item.seller = item_node.findtext(_xpath('./{}SellerNickname'))
            item.quantity = int(item_node.findtext(_xpath('./{}Quantity')))
            item.title = item_node.findtext(_xpath('./{}Title'))
            item.product_group = item_node.findtext(_xpath('./{}ProductGroup'))
            item.price = (
                int(item_node.findtext(_xpath('./{}Price/{}Amount'))),
                item_node.findtext(_xpath('./{}Price/{}CurrencyCode')))
            item.total = (
                int(item_node.findtext(_xpath('./{}ItemTotal/{}Amount'))),
                item_node.findtext(_xpath('./{}ItemTotal/{}CurrencyCode')))
            return item

        try:
            for item_node in root.findall(_xpath('./{}CartItems/{}CartItem')):
                cart.items.append(parse_item(item_node))
            cart.subtotal = (node.SubTotal.Amount, node.SubTotal.CurrencyCode)
        except AttributeError:
            cart.subtotal = (None, None)
        return cart
コード例 #3
0
ファイル: etree.py プロジェクト: smaharj1/Nora-Python
    def parse_cart(cls, node):
        """
        Returns an instance of :class:`amazonproduct.contrib.Cart` based on
        information extracted from ``node``.
        """
        nspace = {'aws': node.nsmap.get(None, '')}
        root = node.find('.//aws:Cart', namespaces=nspace)
        _extract = lambda node, xpath: node.findtext(xpath, namespaces=nspace)

        cart = Cart()
        cart.cart_id = _extract(root, './aws:CartId')
        cart.hmac = _extract(root, './aws:HMAC')
        cart.url = _extract(root, './aws:PurchaseURL')

        def parse_item(item_node):
            item = Item()
            item.item_id = _extract(item_node, './aws:CartItemId')
            item.asin = _extract(item_node, './aws:ASIN')
            item.seller = _extract(item_node, './aws:SellerNickname')
            item.quantity = int(_extract(item_node, './aws:Quantity'))
            item.title = _extract(item_node, './aws:Title')
            item.product_group = _extract(item_node, './aws:ProductGroup')
            item.price = (int(_extract(item_node, './aws:Price/aws:Amount')),
                          _extract(item_node, './aws:Price/aws:CurrencyCode'))
            item.total = (int(_extract(item_node,
                                       './aws:ItemTotal/aws:Amount')),
                          _extract(item_node,
                                   './aws:ItemTotal/aws:CurrencyCode'))
            return item

        try:
            for item_node in root.findall('./aws:CartItems/aws:CartItem',
                                          namespaces=nspace):
                cart.items.append(parse_item(item_node))
            cart.subtotal = (node.SubTotal.Amount, node.SubTotal.CurrencyCode)
        except AttributeError:
            cart.subtotal = (None, None)
        return cart
コード例 #4
0
    def parse_cart(cls, node):
        """
        Returns an instance of :class:`amazonproduct.contrib.Cart` based on
        information extracted from ``node``.
        """
        cart = Cart()
        # TODO This is probably not the safest way to get <Cart>
        root = node.Cart
        cart.cart_id = root.CartId.pyval
        cart.hmac = root.HMAC.pyval

        def parse_item(item_node):
            item = Item()
            item.item_id = item_node.CartItemId.pyval
            item.asin = item_node.ASIN.pyval
            item.seller = item_node.SellerNickname.pyval
            item.quantity = item_node.Quantity.pyval
            item.title = item_node.Title.pyval
            item.product_group = item_node.ProductGroup.pyval
            item.price = (
                item_node.Price.Amount.pyval,
                item_node.Price.CurrencyCode.pyval)
            item.total = (
                item_node.ItemTotal.Amount.pyval,
                item_node.ItemTotal.CurrencyCode.pyval)
            return item

        try:
            for item_node in root.CartItems.CartItem:
                cart.items.append(parse_item(item_node))
            cart.url = root.PurchaseURL.pyval
            cart.subtotal = (root.SubTotal.Amount, root.SubTotal.CurrencyCode)
        except AttributeError:
            cart.url = None
            cart.subtotal = None
        return cart
コード例 #5
0
    def parse_cart(cls, node):
        """
        Returns an instance of :class:`amazonproduct.contrib.Cart` based on
        information extracted from ``node``.
        """
        _nspace = extract_nspace(node)
        _xpath = lambda path: path.replace('{}', _nspace)
        root = node.find(_xpath('.//{}Cart'))


        cart = Cart()
        cart.cart_id = root.findtext(_xpath('./{}CartId'))
        cart.hmac = root.findtext(_xpath('./{}HMAC'))
        cart.url = root.findtext(_xpath('./{}PurchaseURL'))

        def parse_item(item_node):
            item = Item()
            item.item_id = item_node.findtext(_xpath('./{}CartItemId'))
            item.asin = item_node.findtext(_xpath('./{}ASIN'))
            item.seller = item_node.findtext(_xpath('./{}SellerNickname'))
            item.quantity = int(item_node.findtext(_xpath('./{}Quantity')))
            item.title = item_node.findtext(_xpath('./{}Title'))
            item.product_group = item_node.findtext(_xpath('./{}ProductGroup'))
            item.price = (
                int(item_node.findtext(_xpath('./{}Price/{}Amount'))),
                item_node.findtext(_xpath('./{}Price/{}CurrencyCode')))
            item.total = (
                int(item_node.findtext(_xpath('./{}ItemTotal/{}Amount'))),
                item_node.findtext(_xpath('./{}ItemTotal/{}CurrencyCode')))
            return item

        try:
            for item_node in root.findall(_xpath('./{}CartItems/{}CartItem')):
                cart.items.append(parse_item(item_node))
            cart.subtotal = (node.SubTotal.Amount, node.SubTotal.CurrencyCode)
        except AttributeError:
            cart.subtotal = (None, None)
        return cart
コード例 #6
0
ファイル: etree.py プロジェクト: knittledan/solr_lxml_Example
    def parse_cart(cls, node):
        """
        Returns an instance of :class:`amazonproduct.contrib.Cart` based on
        information extracted from ``node``.
        """
        nspace = {'aws': node.nsmap.get(None, '')}
        root = node.find('.//aws:Cart', namespaces=nspace)
        _extract = lambda node, xpath: node.findtext(xpath, namespaces=nspace)

        cart = Cart()
        cart.cart_id = _extract(root, './aws:CartId')
        cart.hmac = _extract(root, './aws:HMAC')
        cart.url = _extract(root, './aws:PurchaseURL')

        def parse_item(item_node):
            item = Item()
            item.item_id = _extract(item_node, './aws:CartItemId')
            item.asin = _extract(item_node, './aws:ASIN')
            item.seller = _extract(item_node, './aws:SellerNickname')
            item.quantity = int(_extract(item_node, './aws:Quantity'))
            item.title = _extract(item_node, './aws:Title')
            item.product_group = _extract(item_node, './aws:ProductGroup')
            item.price = (
                int(_extract(item_node, './aws:Price/aws:Amount')),
                _extract(item_node, './aws:Price/aws:CurrencyCode'))
            item.total = (
                int(_extract(item_node, './aws:ItemTotal/aws:Amount')),
                _extract(item_node, './aws:ItemTotal/aws:CurrencyCode'))
            return item

        try:
            for item_node in root.findall('./aws:CartItems/aws:CartItem', namespaces=nspace):
                cart.items.append(parse_item(item_node))
            cart.subtotal = (node.SubTotal.Amount, node.SubTotal.CurrencyCode)
        except AttributeError:
            cart.subtotal = (None, None)
        return cart