Amazon images local

master
Nick Sergeant 2012-07-08 14:20:44 -04:00
parent f1869c6775
commit b75f454404
3 changed files with 28 additions and 4 deletions

View File

@ -190,7 +190,7 @@
</div>
<script id="amazon-ad" type="text/html">
<li>
<a href="<%=url %>" style="background-image: url('<%=image %>');">
<a href="<%=url %>" style="background-image: url('/api/public/a/img/?i=<%=image %>');">
<span class="title"><%=title %></span>
<span class="description"><%=review %></span>
</a>

View File

@ -1,7 +1,7 @@
from views import amazon_search, amazon_image, lexers, sitemap, tags
from django.conf.urls.defaults import include, patterns, url
from django.views.generic.simple import direct_to_template
from registration.forms import RegistrationFormUniqueEmail
from views import amazon_search, lexers, sitemap, tags
from django.http import HttpResponseRedirect
from django.contrib import admin
from snipts.views import search
@ -39,6 +39,7 @@ urlpatterns = patterns('',
url(r'^api/public/lexer/$', lexers),
url(r'^api/public/a/$', amazon_search),
url(r'^api/public/a/img/$', amazon_image),
url(r'^api/', include(public_api.urls)),
url(r'^api/', include(private_api.urls)),

View File

@ -1,11 +1,15 @@
from django.http import HttpResponseRedirect, HttpResponseBadRequest
from annoying.decorators import ajax_request, render_to
from django.template.defaultfilters import striptags
from django.shortcuts import render_to_response
from django.template import RequestContext
from snipts.utils import get_lexers_list
from django.db.models import Count
from amazon.api import AmazonAPI
from django.conf import settings
from taggit.models import Tag
from django.template.defaultfilters import striptags
import os, urllib
@ajax_request
@ -19,7 +23,7 @@ def amazon_search(request):
result = []
for product in products:
result.append({
'image': product.small_image_url,
'image': product.small_image_url.replace('http://ecx.images-amazon.com/images/I/', ''),
'price': product.list_price,
'review': striptags(product.editorial_review),
'reviews': product.reviews,
@ -31,6 +35,25 @@ def amazon_search(request):
'result': result
}
def amazon_image(request):
if 'i' in request.GET:
img_filename = request.GET.get('i')
img_src = 'http://ecx.images-amazon.com/images/I/{}'.format(img_filename)
img_loc = os.path.join(settings.STATIC_ROOT, 'images', 'amazon', img_filename)
try:
open(img_loc)
return HttpResponseRedirect('/static/images/amazon/' + img_filename)
except IOError:
urllib.urlretrieve(img_src, img_loc)
return HttpResponseRedirect('/static/images/amazon/' + img_filename)
return HttpResponseRedirect('/static/images/amazon/' + img_filename)
else:
return HttpResponseBadRequest()
return {}
@ajax_request
def lexers(request):
lexers = get_lexers_list()