def process(self, filename, delimiter, target_fields): processed, delimiter = 0, delimiter or ',' target_fields = [ getattr(Product, f) for f in target_fields.split(delimiter) ] statuses = {-1: 0, 0: 0, 1: 0} with open(filename) as f: for row in csv.DictReader(f, delimiter=delimiter): processed += 1 if processed % 50000 == 0: logger.info('Processed: {}, statuses: {}'.format( processed, statuses)) row['active'] = {'False': False, 'True': True}[row['active']] try: is_new, product = Product.load_from_source(row) if is_new: logger.error('Product is new! id: {}'.format( row['id'])) else: statuses[product.active - Product.get(id=product.id).active] += 1 product.save(only=target_fields) except Exception as e: logger.error(e) logger.info('Processed: {}, statuses: {}'.format( processed, statuses))
def add(request, product_key): postdata = request.POST.copy() quantity = int(postdata.get('quantity', 1)) product = Product.get(product_key) item = CartItem.all().filter('product = ', product).filter('cart_id = ', get_cart_id(request)).get() if not item: item = CartItem() item.product = product item.quantity = quantity item.cart_id = get_cart_id(request) item.put() else: item.quantity = item.quantity + quantity item.put()
def add(request, product_key): postdata = request.POST.copy() quantity = int(postdata.get('quantity', 1)) product = Product.get(product_key) item = CartItem.all().filter('product = ', product).filter('cart_id = ', get_cart_id(request)).get() if not item: item = CartItem() item.product = product item.quantity = quantity item.cart_id = get_cart_id(request) item.put() else: item.quantity = item.quantity + quantity item.put()