Example #1
0
def manage(request):
    if request.method == 'GET':
        guids = request.GET.get('guids', '').split(',')
        guids = filter(None, guids)

        objects = getObjectsFromGuids(guids)
        ids = [o.id for o in objects]

        imgtags = list(
            Tag.objects.filter(image__id__in=ids).exclude(artist=True))
        vidtags = list(
            Tag.objects.filter(video__id__in=ids).exclude(artist=True))
        tags = list(set(imgtags + vidtags))

        if request.GET.get('json', False):
            res = Result()
            data = {
                'queries': connection.queries,
            }

            res.value = data

            res.isSuccess = True

            return JsonResponse(res)

        return render(request, 'frog/tag_manage.html', {'tags': tags})
    else:
        add = request.POST.get('add', '').split(',')
        rem = request.POST.get('rem', '').split(',')
        guids = request.POST.get('guids', '').split(',')

        add = filter(None, add)
        rem = filter(None, rem)
        addList = []

        for t in add:
            try:
                addList.append(int(t))
            except ValueError:
                tag, created = Tag.objects.get_or_create(name=t)
                tag.save()
                addList.append(tag.id)

        objects = getObjectsFromGuids(guids)
        addTags = Tag.objects.filter(id__in=addList)
        remTags = Tag.objects.filter(id__in=rem)

        for o in objects:
            for a in addTags:
                o.tags.add(a)
            for r in remTags:
                o.tags.remove(r)

        res = Result()
        res.isSuccess = True

        return JsonResponse(res)
Example #2
0
def manage(request):
    if request.method == 'GET':
        guids = request.GET.get('guids', '').split(',')
        guids = [guid for guid in guids if guid]

        objects = getObjectsFromGuids(guids)
        ids = [o.id for o in objects]

        imgtags = list(Tag.objects.filter(image__id__in=ids).exclude(artist=True))
        vidtags = list(Tag.objects.filter(video__id__in=ids).exclude(artist=True))
        tags = list(set(imgtags + vidtags))

        if request.GET.get('json', False):
            res = Result()
            data = {
                'queries': connection.queries,
            }

            res.append(data)

            return JsonResponse(res.asDict())

        return render(request, 'frog/tag_manage.html', {'tags': tags})
    else:
        res = Result()
        data = request.POST or json.loads(request.body)['body']
        add = data.get('add', '').split(',')
        rem = data.get('rem', '').split(',')
        guids = data.get('guids', '').split(',')

        add = [a for a in add if a]
        rem = [r for r in rem if r]
        addList = []

        for t in add:
            try:
                addList.append(int(t))
            except ValueError:
                tag = Tag.objects.get_or_create(name=t.lower())[0]
                tag.save()
                addList.append(tag.id)

        objects = getObjectsFromGuids(guids)
        addTags = Tag.objects.filter(id__in=addList)
        remTags = Tag.objects.filter(id__in=rem)

        for o in objects:
            for a in addTags:
                o.tags.add(a)
            for r in remTags:
                o.tags.remove(r)

            res.append(o.json())

        return JsonResponse(res.asDict())
Example #3
0
def manage(request):
    if request.method == "GET":
        guids = request.GET.get("guids", "").split(",")
        guids = [guid for guid in guids if guid]

        objects = getObjectsFromGuids(guids)
        ids = [o.id for o in objects]

        imgtags = list(
            Tag.objects.filter(image__id__in=ids).exclude(artist=True))
        vidtags = list(
            Tag.objects.filter(video__id__in=ids).exclude(artist=True))
        tags = list(set(imgtags + vidtags))

        if request.GET.get("json", False):
            res = Result()
            data = {"queries": connection.queries}

            res.append(data)

            return JsonResponse(res.asDict())

        return render(request, "frog/tag_manage.html", {"tags": tags})
    else:
        res = Result()
        data = request.POST or json.loads(request.body)["body"]
        add = data.get("add", "").split(",")
        rem = data.get("rem", "").split(",")
        guids = data.get("guids", "").split(",")

        add = [a for a in add if a]
        rem = [r for r in rem if r]
        addList = []

        for t in add:
            try:
                addList.append(int(t))
            except ValueError:
                tag = Tag.objects.get_or_create(name=t.lower())[0]
                tag.save()
                addList.append(tag.id)

        objects = getObjectsFromGuids(guids)
        addTags = Tag.objects.filter(id__in=addList)
        remTags = Tag.objects.filter(id__in=rem)

        for o in objects:
            for a in addTags:
                o.tags.add(a)
            for r in remTags:
                o.tags.remove(r)

            res.append(o.json())

        return JsonResponse(res.asDict())
Example #4
0
def manage(request):
    if request.method == "GET":
        guids = request.GET.get("guids", "").split(",")
        guids = filter(None, guids)

        objects = getObjectsFromGuids(guids)
        ids = [o.id for o in objects]

        imgtags = list(Tag.objects.filter(image__id__in=ids).exclude(artist=True))
        vidtags = list(Tag.objects.filter(video__id__in=ids).exclude(artist=True))
        tags = list(set(imgtags + vidtags))

        if request.GET.get("json", False):
            res = Result()
            data = {"queries": connection.queries}

            res.value = data

            res.isSuccess = True

            return JsonResponse(res)

        return render(request, "frog/tag_manage.html", {"tags": tags})
    else:
        add = request.POST.get("add", "").split(",")
        rem = request.POST.get("rem", "").split(",")
        guids = request.POST.get("guids", "").split(",")

        add = filter(None, add)
        rem = filter(None, rem)
        addList = []

        for t in add:
            try:
                addList.append(int(t))
            except ValueError:
                tag, created = Tag.objects.get_or_create(name=t)
                tag.save()
                addList.append(tag.id)

        objects = getObjectsFromGuids(guids)
        addTags = Tag.objects.filter(id__in=addList)
        remTags = Tag.objects.filter(id__in=rem)

        for o in objects:
            for a in addTags:
                o.tags.add(a)
            for r in remTags:
                o.tags.remove(r)

        res = Result()
        res.isSuccess = True

        return JsonResponse(res)
Example #5
0
def post(request):
    """Returns a serialized object"""
    data = request.POST or json.loads(request.body)['body']
    guid = data.get('guid', None)
    res = Result()

    if guid:
        obj = getObjectsFromGuids([guid,])[0]
        comment = Comment()
        comment.comment = data.get('comment', 'No comment')
        comment.user = request.user
        comment.user_name = request.user.get_full_name()
        comment.user_email = request.user.email
        comment.content_object = obj
        comment.site_id = get_current_site(request).id
        comment.save()

        obj.comment_count += 1
        obj.save()

        emailComment(comment, obj, request)

        res.append(commentToJson(comment))

    return JsonResponse(res.asDict())
Example #6
0
def post(request):
    """Returns a serialized object
    :param obj_id: ID of comment object
    :type obj_id: int
    :returns: json
    """
    guid = request.POST.get('guid', None)
    res = Result()

    if guid:
        obj = getObjectsFromGuids([
            guid,
        ])[0]
        c = Comment()
        c.comment = request.POST.get('comment', 'No comment')
        c.user = request.user
        c.user_name = request.user.get_full_name()
        c.user_email = request.user.email
        c.content_object = obj
        c.site_id = 1
        c.save()
        obj.comment_count = obj.comment_count + 1
        obj.save()

        __email(c, obj)

        res.append({'id': c.id, 'comment': c.comment})
        res.isSuccess = True
    else:
        res.isError = True
        res.message = "No guid provided"

    return JsonResponse(res)
Example #7
0
def switchArtist(request):
    data = request.POST or json.loads(request.body)['body']
    artist = data.get('artist', None)
    guids = data.get('guids', '').split(',')

    res = Result()
    if artist:
        if isinstance(artist, int):
            author = User.objects.get(pk=artist)
            tag = Tag.objects.get_or_create(
                name=author.get_full_name().lower(), defaults={'artist':
                                                               True})[0]
        else:
            first, last = artist.lower().split(' ')
            author = User.objects.get_or_create(first_name=first,
                                                last_name=last,
                                                defaults={
                                                    'username':
                                                    '******' % (first[0], last),
                                                })[0]
            tag = Tag.objects.get_or_create(name=artist.lower(),
                                            defaults={'artist': True})[0]

        objects = getObjectsFromGuids(guids)
        for n in objects:
            n.author = author
            n.tagArtist(tag)

        res.append(userToJson(author))
        res.value['tag'] = tag.id

    return JsonResponse(res.asDict())
Example #8
0
def switchArtist(request):
    data = request.POST or json.loads(request.body)["body"]
    artist = data.get("artist", None)
    guids = data.get("guids", "").split(",")

    res = Result()
    if artist:
        if isinstance(artist, int):
            author = User.objects.get(pk=artist)
            tag = Tag.objects.get_or_create(
                name=author.get_full_name().lower(), defaults={"artist":
                                                               True})[0]
        else:
            first, last = artist.lower().split(" ")
            author = User.objects.get_or_create(
                first_name=first,
                last_name=last,
                defaults={"username": "******" % (first[0], last)},
            )[0]
            tag = Tag.objects.get_or_create(name=artist.lower(),
                                            defaults={"artist": True})[0]

        objects = getObjectsFromGuids(guids)
        for n in objects:
            n.author = author
            n.tagArtist(tag)

        res.append(userToJson(author))
        res.value["tag"] = tag.id

    return JsonResponse(res.asDict())
Example #9
0
def post(request):
    """Returns a serialized object
    :param obj_id: ID of comment object
    :type obj_id: int
    :returns: json
    """
    guid = request.POST.get('guid', None)
    res = Result()   

    if guid:
        obj = getObjectsFromGuids([guid,])[0]
        c = Comment()
        c.comment = request.POST.get('comment', 'No comment')
        c.user = request.user
        c.user_name = request.user.get_full_name()
        c.user_email = request.user.email
        c.content_object = obj
        c.site_id = 1
        c.save()
        obj.comment_count = obj.comment_count + 1
        obj.save()

        __email(c, obj)

        res.append({'id': c.id, 'comment': c.comment})
        res.isSuccess = True
    else:
        res.isError = True
        res.message = "No guid provided"

    return JsonResponse(res)
Example #10
0
File: comment.py Project: ptrr/frog
def post(request):
    """Returns a serialized object"""
    data = json.loads(request.body)["body"]
    guid = data.get("guid", None)
    res = Result()

    if guid:
        obj = getObjectsFromGuids([guid])[0]
        comment = Comment()
        comment.comment = data.get("comment", "No comment")
        comment.user = request.user
        comment.user_name = request.user.get_full_name()
        comment.user_email = request.user.email
        comment.content_object = obj
        # For our purposes, we never have more than one site
        comment.site_id = 1
        comment.save()

        obj.comment_count += 1
        obj.save()

        emailComment(comment, obj, request)

        res.append(commentToJson(comment))

    return JsonResponse(res.asDict())
Example #11
0
def put(request, obj_id=None):
    """ Adds Image and Video objects to Gallery based on GUIDs """
    data = request.PUT or json.loads(request.body)['body']
    guids = data.get('guids', '').split(',')
    move = data.get('from')
    security = request.PUT.get('security')
    gallery = Gallery.objects.get(pk=obj_id)

    if guids:
        objects = getObjectsFromGuids(guids)

        images = filter(lambda x: isinstance(x, Image), objects)
        videos = filter(lambda x: isinstance(x, Video), objects)

        gallery.images.add(*images)
        gallery.videos.add(*videos)

        if move:
            fromgallery = Gallery.objects.get(pk=move)
            fromgallery.images.remove(*images)
            fromgallery.videos.remove(*videos)

    if security is not None:
        gallery.security = json.loads(security)
        gallery.save()
        for child in gallery.gallery_set.all():
            child.security = gallery.security
            child.save()

    res = Result()
    res.append(gallery.json())

    return JsonResponse(res.asDict())
Example #12
0
File: gallery.py Project: ptrr/frog
def put(request, obj_id=None):
    """ Adds Image and Video objects to Gallery based on GUIDs """
    data = json.loads(request.body)["body"]
    guids = data.get("guids", "").split(",")
    move = data.get("from")
    security = data.get("security")
    gallery = Gallery.objects.get(pk=obj_id)

    # Set the security first so subsequent securityChecks will get the correct security level
    if security is not None:
        gallery.security = json.loads(security)
        gallery.save()
        for child in gallery.gallery_set.all():
            child.security = gallery.security
            child.save()

    if guids:
        items = getObjectsFromGuids(guids)
        gallery.addItems(items)

        if move:
            fromgallery = Gallery.objects.get(pk=move)
            fromgallery.removeItems(items)

    res = Result()
    res.append(gallery.json())

    return JsonResponse(res.asDict())
Example #13
0
def put(request, obj_id=None):
    """ Adds Image and Video objects to Gallery based on GUIDs """
    guids = filter(None, request.PUT.get('guids', '').split(','))
    security = request.PUT.get('security')
    object_ = Gallery.objects.get(pk=obj_id)
    
    if guids:
        objects = getObjectsFromGuids(guids)

        images = filter(lambda x: isinstance(x, Image), objects)
        videos = filter(lambda x: isinstance(x, Video), objects)

        object_.images.add(*images)
        object_.videos.add(*videos)
    
    if security is not None:
        object_.security = json.loads(security)
        object_.save()
        for child in object_.gallery_set.all():
            child.security = object_.security
            child.save()

    res = Result()
    res.append(object_.json())
    res.isSuccess = True

    return JsonResponse(res)
Example #14
0
def commentList(request):
    """Returns a rendered list of comments
    :returns: html
    """
    if request.method == 'POST':
        return post(request)

    comments = []
    guid = request.GET.get('guid', None)
    id = request.GET.get('id', 0)
    if guid:
        obj = getObjectsFromGuids([guid])[0]
        if obj.AssetType == 1:
            model = 'image'
        else:
            model = 'video'
        contentType = ContentType.objects.get(app_label="frog", model=model)
        comments = Comment.objects.filter(object_pk=obj.id, content_type=contentType)

    if request.GET.get('json'):
        res = Result()
        for comment in comments:
            res.append(commentToJson(comment))
        return JsonResponse(res.asDict())
    
    return render(request, 'frog/comment_list.html', {'comments': comments, 'guid': guid, 'id': id})
Example #15
0
def post(request):
    """Returns a serialized object"""
    data = request.POST or json.loads(request.body)['body']
    guid = data.get('guid', None)
    res = Result()

    if guid:
        obj = getObjectsFromGuids([guid,])[0]
        comment = Comment()
        comment.comment = data.get('comment', 'No comment')
        comment.user = request.user
        comment.user_name = request.user.get_full_name()
        comment.user_email = request.user.email
        comment.content_object = obj
        comment.site_id = get_current_site(request).id
        comment.save()

        obj.comment_count += 1
        obj.save()

        emailComment(comment, obj, request)

        res.append(commentToJson(comment))
    else:
        res.isError = True
        res.message = "No guid provided"

    return JsonResponse(res.asDict())
Example #16
0
def put(request, obj_id=None):
    """ Adds Image and Video objects to Gallery based on GUIDs """
    data = request.PUT or json.loads(request.body)['body']
    guids = data.get('guids', '').split(',')
    move = data.get('from')
    security = request.PUT.get('security')
    gallery = Gallery.objects.get(pk=obj_id)
    
    if guids:
        objects = getObjectsFromGuids(guids)

        images = filter(lambda x: isinstance(x, Image), objects)
        videos = filter(lambda x: isinstance(x, Video), objects)

        gallery.images.add(*images)
        gallery.videos.add(*videos)

        if move:
            fromgallery = Gallery.objects.get(pk=move)
            fromgallery.images.remove(*images)
            fromgallery.videos.remove(*videos)
    
    if security is not None:
        gallery.security = json.loads(security)
        gallery.save()
        for child in gallery.gallery_set.all():
            child.security = gallery.security
            child.save()

    res = Result()
    res.append(gallery.json())

    return JsonResponse(res.asDict())
Example #17
0
def commentList(request):
    """Returns a rendered list of comments
    :returns: html
    """
    if request.method == 'POST':
        return post(request)

    comments = []
    guid = request.GET.get('guid', None)
    id = request.GET.get('id', 0)
    if guid:
        obj = getObjectsFromGuids([guid])[0]
        if obj.AssetType == 1:
            model = 'image'
        else:
            model = 'video'
        contentType = ContentType.objects.get(app_label="frog", model=model)
        comments = Comment.objects.filter(object_pk=obj.id,
                                          content_type=contentType)

    return render(request, 'frog/comment_list.html', {
        'comments': comments,
        'guid': guid,
        'id': id
    })
Example #18
0
def switchArtist(request):
    data = request.POST or json.loads(request.body)['body']
    artist = data.get('artist', None)
    guids = data.get('guids', '').split(',')

    res = Result()
    if artist:
        if isinstance(artist, int):
            author = User.objects.get(pk=artist)
            tag = Tag.objects.get_or_create(name=author.get_full_name().lower(), defaults={'artist': True})[0]
        else:
            first, last = artist.lower().split(' ')
            author = User.objects.get_or_create(first_name=first, last_name=last, defaults={
                'username': '******' % (first[0], last),
            })[0]
            tag = Tag.objects.get_or_create(name=artist.lower(), defaults={'artist': True})[0]

        objects = getObjectsFromGuids(guids)
        for n in objects:
            n.author = author
            n.tagArtist(tag)

        res.append(userToJson(author))
        res.value['tag'] = tag.id

    return JsonResponse(res.asDict())
Example #19
0
def getGuids(request):
    res = Result()

    guids = request.GET.get('guids', '').split(',')
    for _ in getObjectsFromGuids(guids):
        res.append(_.json())

    return JsonResponse(res.asDict())
Example #20
0
def getGuids(request):
    res = Result()
    data = {}
    
    guids = request.GET.get('guids', '').split(',')
    for _ in getObjectsFromGuids(guids):
        res.append(_.json())

    return JsonResponse(res.asDict())
Example #21
0
def group(request, obj_id=None):
    res = Result()

    if request.method == "GET":
        try:
            group = Group.objects.get(pk=obj_id)
            res.append(group.json())
        except ObjectDoesNotExist as err:
            res.isError = True
            res.message = str(err)
    elif request.method == "POST":
        data = json.loads(request.body)["body"]
        user = getUser(request)
        if user:
            items = getObjectsFromGuids(data["guids"])
            gallery = data.get("gallery")
            g = Group()
            g.author = user
            g.title = data.get("title", items[0].title)
            g.thumbnail = items[0].thumbnail
            g.description = data.get("description", items[0].description)
            g.save()
            g.guid = g.getGuid().guid
            g.save()

            if gallery:
                Gallery.objects.get(pk=gallery).groups.add(g)

            for item in items:
                g.appendChild(item)
            res.append(g.json())
        else:
            res.isError = True
            res.message = "No user found to create group"
    elif request.method == "PUT":
        data = json.loads(request.body)["body"]
        g = Group.objects.get(pk=obj_id)
        action = data["action"]
        index = data.get("index")
        item = Piece.fromGuid(data["guid"])
        if action == "append":
            g.appendChild(item)
        elif action == "insert":
            g.insertChild(index, item)
        else:
            g.removeChild(item)
        res.append(g.json())
    else:
        g = Group.objects.get(pk=obj_id)
        g.delete()

    return JsonResponse(res.asDict())
Example #22
0
def download(request):
    guids = request.GET.get('guids', '').split(',')

    if guids:
        objects = getObjectsFromGuids(guids)
        fileList = {}
        for n in objects:
            files = n.getFiles()
            fileList.setdefault(n.author.username, [])
            for name, file_ in files.iteritems():
                fileList[n.author.username].append([file_, name])

        response = send_zipfile(request, fileList)
        
        return response
Example #23
0
def download(request):
    guids = request.GET.get('guids', '').split(',')

    if guids:
        objects = getObjectsFromGuids(guids)
        fileList = {}
        for n in objects:
            files = n.getFiles()
            fileList.setdefault(n.author.username, [])
            for name, file_ in files.iteritems():
                fileList[n.author.username].append([file_, name])

        response = send_zipfile(request, fileList)
        
        return response
Example #24
0
File: gallery.py Project: ptrr/frog
def delete(request, obj_id=None):
    """ Removes ImageVideo objects from Gallery """
    data = json.loads(request.body)
    guids = data.get("guids").split(",")
    items = getObjectsFromGuids(guids)
    gallery = Gallery.objects.get(pk=obj_id)

    LOGGER.info("{} removed {} from {}".format(request.user.email, guids,
                                               gallery))

    gallery.removeItems(items)

    res = Result()

    return JsonResponse(res.asDict())
Example #25
0
def _manageTags(tagList, guids, add=True):
    """ Adds or Removes Guids from Tags """
    objects = getObjectsFromGuids(guids)
    tags = []
    for tag in tagList:
        try:
            t = Tag.objects.get(pk=int(tag))
        except ValueError:
            t = Tag.objects.get_or_create(name=tag.lower())[0]
        tags.append(t)

    if add:
        return _addTags(tags, objects)
    else:
        return _removeTags(tags, objects)
Example #26
0
def _manageTags(tagList, guids, add=True):
    """ Adds or Removed Guids from Tags """
    objects = getObjectsFromGuids(guids)
    tags = []
    for tag in tagList:
        try:
            t = Tag.objects.get(pk=int(tag))
        except ValueError:
            t, created = Tag.objects.get_or_create(name=tag)
        tags.append(t)

    if add:
        return _addTags(tags, objects)
    else:
        return _removeTags(tags, objects)
Example #27
0
def delete(request, obj_id=None):
    """ Removes ImageVideo objects from Gallery """
    guids = request.DELETE.get('guids', '').split(',')
    objects = getObjectsFromGuids(guids)
    object_ = Gallery.objects.get(pk=obj_id)

    for o in objects:
        if isinstance(o, Image):
            object_.images.remove(o)
        elif isinstance(o, Video):
            object_.videos.remove(o)

    res = Result()
    res.isSuccess = True

    return JsonResponse(res)
Example #28
0
def delete(request, obj_id=None):
    """ Removes ImageVideo objects from Gallery """
    data = request.DELETE or json.loads(request.body)
    guids = data.get('guids').split(',')
    objects = getObjectsFromGuids(guids)
    gallery = Gallery.objects.get(pk=obj_id)

    for o in objects:
        if isinstance(o, Image):
            gallery.images.remove(o)
        elif isinstance(o, Video):
            gallery.videos.remove(o)

    res = Result()

    return JsonResponse(res.asDict())
Example #29
0
def delete(request, obj_id=None):
    """ Removes ImageVideo objects from Gallery """
    data = request.DELETE or json.loads(request.body)
    guids = data.get('guids').split(',')
    objects = getObjectsFromGuids(guids)
    gallery = Gallery.objects.get(pk=obj_id)

    LOGGER.info('{} removed {} from {}'.format(request.user.email, guids,
                                               gallery))

    for o in objects:
        if isinstance(o, Image):
            gallery.images.remove(o)
        elif isinstance(o, Video):
            gallery.videos.remove(o)

    res = Result()

    return JsonResponse(res.asDict())
Example #30
0
def recordView(request):
    res = Result()
    data = json.loads(request.body)["body"]

    item = getObjectsFromGuids([data["guid"]])
    if item:
        item = item[0]

        created = ViewRecord.objects.get_or_create(
            user=request.user, guid=data["guid"]
        )[1]
        if created:
            item.view_count += 1
            item.save()

        res.append(item.view_count)
    else:
        res.isError = True
        res.message = "No object foudn for guid {}".format(data["guid"])

    return JsonResponse(res.asDict())
Example #31
0
File: comment.py Project: ptrr/frog
def commentList(request):
    """Returns a rendered list of comments
    :returns: html
    """
    if request.method == "POST":
        return post(request)

    res = Result()
    comments = []
    guid = request.GET.get("guid", None)

    if guid:
        obj = getObjectsFromGuids([guid])
        if obj:
            obj = obj[0]

            if obj.AssetType == Image.AssetType:
                model = "image"
            elif obj.AssetType == Video.AssetType:
                model = "video"
            elif obj.AssetType == Group.AssetType:
                model = "group"
            elif obj.AssetType == Marmoset.AssetType:
                model = "marmoset"
            else:
                model = None

            if model:
                contenttype = ContentType.objects.get(app_label="frog",
                                                      model=model)
                comments = Comment.objects.filter(object_pk=obj.id,
                                                  content_type=contenttype)
        else:
            res.isError = True
            res.message = "Invalid object, could not lookup comments for {}".format(
                guid)

    for comment in comments:
        res.append(commentToJson(comment))
    return JsonResponse(res.asDict())
Example #32
0
def download(request):
    guids = request.GET.get("guids", "").split(",")

    if guids:
        LOGGER.info("%s downloaded %s", request.user.email, guids)

        # -- Gather downloadable items
        objects = set(getObjectsFromGuids(guids))
        groups = {_ for _ in objects if _.guid[0] == "4"}
        downloadable = list(objects - groups)
        for group in groups:
            downloadable += group.children

        filelist = {}
        for n in downloadable:
            files = n.getFiles()
            filelist.setdefault(n.author.username, [])
            for name, file_ in files.items():
                filelist[n.author.username].append([file_, name])

        response = send_zipfile(request, filelist)

        return response
Example #33
0
def switchArtist(request):
    artist = request.POST.get('artist', None)
    guids = request.POST.get('guids', '').split(',')
    res = Result()
    if artist:
        first, last = artist.lower().split(' ')
        author = User.objects.get_or_create(first_name=first, last_name=last, defaults={
            'username': '******' % (first[0], last),
        })[0]
        tag = Tag.objects.get_or_create(name=artist.lower(), defaults={'artist': True})[0]
        objects = getObjectsFromGuids(guids)
        for n in objects:
            n.author = author
            n.tagArtist(tag)

        res.isSuccess = True
        res.append(userToJson(author))
        res.value['tag'] = Tag.objects.get(name=artist.lower()).id
    else:
        res.isError = True
        res.message = "No artist provided"

    return JsonResponse(res)
Example #34
0
def commentList(request):
    """Returns a rendered list of comments
    :returns: html
    """
    if request.method == 'POST':
        return post(request)

    comments = []
    guid = request.GET.get('guid', None)

    if guid:
        obj = getObjectsFromGuids([guid])[0]
        if obj.AssetType == 1:
            model = 'image'
        else:
            model = 'video'
        contenttype = ContentType.objects.get(app_label="frog", model=model)
        comments = Comment.objects.filter(object_pk=obj.id, content_type=contenttype)

    res = Result()
    for comment in comments:
        res.append(commentToJson(comment))
    return JsonResponse(res.asDict())
Example #35
0
def switchArtist(request):
    artist = request.POST.get('artist', None)
    guids = request.POST.get('guids', '').split(',')
    res = Result()
    if artist:
        first, last = artist.lower().split(' ')
        author = User.objects.get_or_create(first_name=first, last_name=last, defaults={
            'username': '******' % (first[0], last),
        })[0]
        tag = Tag.objects.get_or_create(name=artist.lower(), defaults={'artist': True})[0]
        objects = getObjectsFromGuids(guids)
        for n in objects:
            n.author = author
            n.tagArtist(tag)

        res.isSuccess = True
        res.append(userToJson(author))
        res.value['tag'] = Tag.objects.get(name=artist.lower()).id
    else:
        res.isError = True
        res.message = "No artist provided"

    return JsonResponse(res)