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
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)