Beispiel #1
0
    def get(self, request, *args, **kwargs):
        num_page = request.GET.get('page')
        per_page = request.GET.get('per-page')

        photosets, paginator, page = Photoset.getList()

        photoset_id = request.GET.get('photoset')
        photoset_list = [(photoset.id, photoset.title) for photoset in photosets]

        response_data = {"photosets": photoset_list, 'numOfPages': 1, 'photos': []}

        if photoset_id:
            photoset = list(filter(lambda x: x.id == photoset_id, photosets))

            if len(photoset):
                photoset = photoset.pop()
                photos, paginator, page = photoset.getPhotos(page=num_page, per_page=per_page)

                response_data['photos'] = [{
                    "id": photo.id,
                    "title": photo.title,
                    "large_square_url": photo.large_square_url,
                    "medium_url": photo.medium_url,
                    "url": photo.url
                } for photo in page]

                response_data['numOfPages'] = paginator.num_pages
                response_data['totalOfPhotos'] = paginator.total

        return JsonResponse(response_data)
def photosets_as_choices(blank_option=BLANK_OPTION):
    choices = (blank_option,)
    exclude = [photoset.photoset_id for photoset in PhotosetModel.objects.all()]

    photosets, paginator, page_obj = Photoset.getList()
    photosets = [(photoset.id, photoset.title) for photoset in photosets if not photoset.id in exclude]
    choices += tuple(photosets)
    return choices
Beispiel #3
0
def photosets_as_choices(blank_option=BLANK_OPTION):
    choices = (blank_option, )
    exclude = [
        photoset.photoset_id for photoset in PhotosetModel.objects.all()
    ]

    photosets, paginator, page_obj = Photoset.getList()
    photosets = [(photoset.id, photoset.title) for photoset in photosets
                 if not photoset.id in exclude]
    choices += tuple(photosets)
    return choices
Beispiel #4
0
 def paginate(self, page_number, page_size):
     photosets, paginator, page = Photoset.getList(page=page_number, per_page=page_size)
     return photosets, paginator, page
Beispiel #5
0
 def items(self):
     """
     Return published entries.
     """
     photosets, paginator, page = Photoset.getList()
     return photosets
Beispiel #6
0
 def paginate(self, page_number, page_size):
     photosets, paginator, page = Photoset.getList(page=page_number,
                                                   per_page=page_size)
     return photosets, paginator, page