예제 #1
0
def handle_itemid(request, itemId, idType='ASIN'):
	from awsProductCrawler import get_or_create_product

	#getting the information from db always
	#	p = Product.objects.filter(price__product_code=itemId)
	#getting the latest information from amazon always
	p = None
	if p and p.count > 0:
		return HttpResponseRedirect(reverse('product_detail', args=[p[0].slug]))
	else:
		if request.user.is_authenticated():
			user = request.user
		else:
			user = User.objects.get(username="******")
	#		ret = subprocess.call([settings.PYTHON_CMD, settings.PRODUCT_RETRIEVER, asin, user.username], shell=True)
	#		if ret == 0:
	#			p = Product.objects.filter(price__product_code=itemId)
	#			if p and p.count > 0:
	#				return HttpResponseRedirect(reverse('product_detail', args=[p[0].slug]))
		p, created, pr, pr_created, pr_a, pr_a_created = get_or_create_product(itemId, user, idType)
		if p:
			if request.user.is_authenticated():
				request.user.message_set.create(message="Item has just been " + ("created" if created else "updated"))
			return HttpResponseRedirect(reverse('product_detail', args=[p.slug]))
	return None
예제 #2
0
def ptpost(request, asin, boardid = 4):
	boardid = int(boardid)
	from awsProductCrawler import get_or_create_product, write_trace

	user = User.objects.get(username="******")
	p, created, pr, pr_created, pr_a, pr_a_created = get_or_create_product(asin, user, 'ASIN')
	price = None
	if pr_a and pr_a_created:
		price = pr_a
	elif pr_created:
		price = pr
	if not price:
		if p:
			if request.user.is_authenticated():
				request.user.message_set.create(message="The price has not yet been changed")
			return HttpResponseRedirect(reverse('product_detail', args=(p.slug,)))
		else:
			raise Http404
	from django.template import loader
	from templatetags.product_tags import price_post_body, price_post_subject
	from snapboard.models import Post, Board
	from snapboard.views import post_article_to_pt
	t = loader.get_template("product/price_post_body.html")
	ts = loader.get_template("product/price_post_subject.html")
	board = get_object_or_404(Board, pk=boardid)
	# create the post
	post = Post(
					subject = ts.render(RequestContext(request, price_post_subject(price))),
					user = user,
					board = board,
					text = t.render(RequestContext(request, price_post_body(price))),
					)
	post.save()
	# post to P&T - commented due to imported article's user does not appear to match current user (level)
	category = 'Other'
	try:
		category = p.categories.all()[0].name
	except:
		pass
	post_article_to_pt(post, category, boardid)
	# redirect to new thread
	return HttpResponseRedirect(reverse('snapboard_post', args=(post.id,)))
#!/usr/bin/env python
import sys

from os.path import abspath, dirname, join

APP_ROOT = abspath(join(dirname(__file__), "../"))
sys.path.insert(0, APP_ROOT)

if __name__ == "__main__" :
#	from ecs import setLicenseKey, setSecretKey
	from django.contrib.auth.models import User
	from awsProductCrawler import get_or_create_product

#	setLicenseKey("AKIAJPVEF4ZXJTBXRJOA");
#	setSecretKey('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')
	
	asin = sys.argv[1]
	userid = sys.argv[2]
	try:
		user = User.objects.get(username=userid)
	except:
		try:
			admin = User.objects.get(username="******")
		except User.DoesNotExist:
			admin = User.objects.create_superuser(username="******", email="*****@*****.**", password="******")
	
	p, created, pr, pr_created, pr_a, pr_a_created = get_or_create_product(asin, user)