def post(self): try: BaseHandler.initFromRequest(self, self.request) #itemId is space delimited list of itemIds itemIds = self.getParam('itemId').split(" ") itemsWithStats = [] for itemId in itemIds: itemsWithStats.append(BaseHandler.getItem(self, itemId)) itemInfoType = response.ItemInfo.FULL; s = self.getParam('infoType'); if len(s) and int(s) >= response.ItemInfo.SHORT and int(s) <= response.ItemInfo.FULL: itemInfoType = int(s) logging.info('getItemStats for %s, infotype = %s->%d' % (self.getParam('itemId'), s, itemInfoType)) self.common_response.setItems(itemsWithStats, itemInfoType) except Exception: BaseHandler.logException(self) BaseHandler.writeResponse(self)
def post(self): try: BaseHandler.initFromRequest(self, self.request) # TODO: assert https item = BaseHandler.getItem(self, self.getParam('itemId')) paymentConfig = model.getPaymentConfig() if item and self._verifyTransaction(item, paymentConfig.test_mode): price = int(self.getParam('price')) item.updatePrice(price, self.getParam('email')) item.put() publisherSite = model.getPublisherSite(item.publisherUrl) db.run_in_transaction(updatePublisherPrice_, publisherSite.key(), price) itemList.refreshCacheForDefaultOrderedItems(item.publisherUrl) logging.info('Number of price updates : %d' % len(item.payments)) logging.info('Last price update : %s' % str(item.payments[len(item.payments)-1])) if paymentConfig.send_email: BaseHandler.sendConfirmationEmail(self, self.getParam('email'), self.getParam('price'), item) self.common_response.setItems([item], response.ItemInfo.WITH_PRICE) except Exception: BaseHandler.logException(self) BaseHandler.writeResponse(self)