Exemple #1
0
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"))
Exemple #2
0
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)
Exemple #3
0
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