Пример #1
0
    def get_item(self, item_id):
        try:
            item_resp = fetch('https://api.mercadolibre.com/items/%s' % item_id)
            item = anyjson.deserialize(item_resp.content)
            
            if item.has_key('site_id') and item.has_key('title'):
                i = Item()
                
                i.item_id = item_id
                
                i.site_id = item['site_id']
                i.title = item['title']
                i.subtitle = item['subtitle'] if item.has_key('subtitle') else ''
                if item.has_key('price'):
                    i.currency_id = item['currency_id']
                    i.price = item['price']
                    i.base_price = item['price'] * Currency.objects.get(currency_id=item['currency_id']).usd_exchange_rate
                
                if item.has_key('thumbnail'):
                    i.thumbnail = item['thumbnail'].replace('_I_', '_E_')

                if item.has_key('permalink'):
                    i.permalink = item['permalink']
        
                i.condition = item['condition'] if item.has_key('condition') else 'not_especified'
                i.buying_mode = item['buying_mode'] if item.has_key('buying_mode') else 'not_especified'
                i.sold_quantity = item['sold_quantity'] if item.has_key('sold_quantity') else 0
                return i
            else:
                return None
        except Exception, e:
            print e
            return None
Пример #2
0
    def post(self, req, *args, **kwargs):
        uForm = UploadForm(req.POST, req.FILES)
        #if uForm.is_valid():
        item = Item()
        item.title = uForm.data["title"]
        item.description = uForm.data["description"]
        item.dimension = uForm.data["dimension"]
        item.author = uForm.data["author"]
        item.year = uForm.data["year"]
        item.type = uForm.data["type"]
        item.source = uForm.data["source"]
        item.style = uForm.data["style"]
        item.n_copies = uForm.data["n_copies"]
        item.created = uForm.data["created"]
        item.updated = uForm.data["updated"]
        user_id = uForm.data["user_id"]
        item.user = User.objects.get(id=user_id)

        folder = os.path.join('photos', item.user.username)
        file = req.FILES.get('file')
        fname = file.name
        fpath = os.path.join(settings.MEDIA_ROOT, folder)

        if not os.path.exists(fpath):
            os.makedirs(fpath)
        # save the uploaded file inside that folder.
        full_filename = os.path.join(fpath, fname)

        if not os.path.exists(full_filename):
            fout = open(full_filename, 'wb+')
            fout.write(file.read())
            fout.close()

            item.fpath = os.path.join(folder, fname)
            item.save()
        else:
            return JsonResponse({'saved': False}, safe=False)
        return JsonResponse({'saved': True}, safe=False)
Пример #3
0
def add(request):
	user = request.session.get('user', None)
	
	if user != 'admin':
		request.session['referer'] = reverse('add')
		return redirect(reverse('admin_login'))
	
	if request.is_ajax():
		form_title   = request.POST.get("title", None)
		instructions = request.POST.get("instructions", None)
		logo         = request.POST.get("logo", None)
		logo_file    = request.FILES.get('logo-new-file', None)			
		email        = request.POST.get("email", None)
		gym          = request.POST.get("gym", None)
		forSale      = request.POST.get("for-sale", None)
		
		val = Validate()		
		val.isEmpty(form_title, "Please enter Form Title.")
		val.isEmpty(instructions, "Please enter Form Instructions.")
		val.isEmpty(logo, "Please select Form Logo.")
		
		if logo == "new":			
			val.isImage(logo_file, "New Logo Image")
		
		val.isEmail(email, "Please enter valid Customer Email.")
		val.isEmpty(gym, "Please enter Customer Gym.")
		items = []
		
		if (forSale):
			for i in range(1, int(forSale)+1):
				order = i
				title = request.POST.get("item-title-"+str(i), None)
				price = request.POST.get("item-price-"+str(i), None)
				image = request.FILES.get('item-image-file-'+str(i), None)
				sizes = request.POST.get("item-sizes-"+str(i), None)

				val.isEmpty(title, "Please enter Item "+str(i)+" Title.")
				val.isInteger(price, "Please enter valid Item "+str(i)+" Price.")				
				val.isImage(image, "Item "+str(i)+" Image")
				val.isEmpty(sizes, "Please enter Item "+str(i)+" Sizes.")
				
				item       = Item()
				item.order = order
				item.title = title
				item.price = price
				item.image = image
				item.sizes = sizes
				item.form  = None

				items.append(item)
		
		errors = val.getErrors()
		
		if errors:
			return JsonResponse(errors, safe=False)
		else:
			form              = Form()
			form.title        = form_title
			form.instructions = instructions
			form.logo         = logo_file if logo_file else logo
			form.email        = email
			form.gym          = gym
			form.forSale      = forSale
			form.save()
			
			for item in items:
				item.form = form
				item.save()				
		
			return JsonResponse({"url": reverse('forms')})
	else:
		files  = []
		bucket = get_bucket()
		source = "https://%s.s3.%s.amazonaws.com/" %(bucket.name, settings.AWS_S3_REGION_NAME)
		
		for obj in bucket.objects.filter(Prefix='logos'):
			files.append(obj.key)
		
		return render(request, 'forms/add.html', {'source': source, 'files': files})