def addImportSite(request): if not request.user.is_authenticated(): return HttpResponseRedirect(reverse("auth_login")) url = request.POST['site'] loader = mediamanager.getSiteLoaderFromUrl(url) c = Context() mediamanager.loadImportTasks(c,request.user) if not loader: c['ml_error'] = "The site you specified is not supported yet." return renderPage(request, "ml/import.html", c) else: if not loader.isValidRatingListUrl(url): c['ml_error'] = "The page you specified is not a valid list." return renderPage(request, "ml/import.html", c) try: task = RatingImportTask.objects.get(user=request.user, source=loader.getSource()) c['ml_error'] = "You already added a list for this site" return renderPage(request, "ml/import.html", c) except RatingImportTask.DoesNotExist: task = RatingImportTask(user=request.user, source=loader.getSource(), url=url) # If the user has no ratings for this source, mark the import task as fresh # (so we can possibly give the user the option to import immediately) sourceMediaCount = RatingEvent.objects.filter(user=request.user, source=loader.getSource()).count() if sourceMediaCount == 0: task.lastResult = RatingImportTask.RESULT_FRESH else: task.lastResult = RatingImportTask.RESULT_OK task.save() return HttpResponseRedirect(reverse("ml_import"))
def importRating(request): if not request.user.is_authenticated(): return HttpResponseRedirect(reverse("auth_login")) c = Context() mediamanager.loadImportTasks(c,request.user) return renderPage(request, "ml/import.html", c)
def deleteImportSite(request, task_id): if not request.user.is_authenticated(): return HttpResponseRedirect(reverse("auth_login")) c = Context() mediamanager.loadImportTasks(c,request.user) try: task = RatingImportTask.objects.get(pk=task_id) if task.user.id == request.user.id: task.delete() return HttpResponseRedirect(reverse("ml_import")) else: c['ml_error'] = "Invalid request" return renderPage(request, "ml/import.html", c) except RatingImportTask.DoesNotExist: raise Http404