def create_article(request): if request.method == 'POST': form = ArticleForm(request.POST) if form.is_valid(): if Article.objects.filter(user = request.user, url = form.cleaned_data['url']): print >> sys.stderr, "Already posted" response_data = {'Error': 'You have already posted this article'} return HttpResponse( json.dumps(response_data), content_type="application/json" ) try: #Create new article new_article = form.save(commit=False) cleaner = urlparse(new_article.url) cleaned_url = "http://" + cleaner.netloc + cleaner.path new_article.url = cleaned_url # scape info from URL scraper = Scraper(new_article.url) new_article.user = request.user new_article.image, new_article.image_url = scraper.scrapeImage() new_article.title = scraper.scrapeTitle() new_article.site_name = scraper.scrapeSitename() new_article.description = scraper.scrapeDescr() new_article.pub_date = date.today() new_article.real_pub_date = datetime.datetime.today() new_article.save() # adjust date article_date = datetime.datetime.strptime(str(new_article.pub_date), '%Y-%m-%d').strftime('%b %d, %Y') response_data = { 'article_id': new_article.id, 'article_url': new_article.url, 'article_image': new_article.image.url, 'article_title': new_article.title, 'article_site_name': new_article.site_name, 'article_user': new_article.user.username, 'article_user_id': new_article.user.id, 'article_description': new_article.description, 'article_pub_date': article_date, } # Success return HttpResponse( json.dumps(response_data), content_type="application/json" ) except: response_data = {'Error': 'Error posting link. Please try again'} return HttpResponse( json.dumps(response_data), content_type="application/json" ) response_data = {'Error': 'Error posting link. Please try again'} return HttpResponse( json.dumps(response_data), content_type="application/json" )