src/hp/views.py
changeset 45 316a0101512e
parent 44 0931f368cb9a
child 60 4a0bfe0002b1
equal deleted inserted replaced
44:0931f368cb9a 45:316a0101512e
     3 Created on Nov 11, 2012
     3 Created on Nov 11, 2012
     4 
     4 
     5 @author: ymh
     5 @author: ymh
     6 '''
     6 '''
     7 from django.conf import settings
     7 from django.conf import settings
       
     8 from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
       
     9 from django.http import HttpResponse
     8 from django.shortcuts import render_to_response
    10 from django.shortcuts import render_to_response
     9 from django.template.context import RequestContext
    11 from django.template.context import RequestContext
    10 from django.http import HttpResponse
       
    11 from hp.models import VideoKCRel
    12 from hp.models import VideoKCRel
       
    13 from hp.utils import get_all_objects
    12 import logging
    14 import logging
    13 import requests
    15 import requests
    14 import urlparse
    16 import urlparse
    15 
    17 
    16 logger = logging.getLogger(__name__)
    18 logger = logging.getLogger(__name__)
    17 
    19 
    18 
    20 
    19 def all_videos(request):
    21 def all_videos(request):
    20     
    22     
    21     #get all videos
    23     url = settings.LDT_API_URL + "contents/?limit=" + str(settings.LDT_MAX_FETCH)
    22     #render
    24 
    23     url = settings.LDT_API_URL + "contents/"
    25     #pagination TODO : implement a lazy loader     
    24     #limit=20&offset=20
    26     contents = get_all_objects(url, 'front_project')
    25     r = requests.get(url)
    27     for content in contents:
    26         
       
    27     
       
    28     
       
    29     results = r.json
       
    30         
       
    31     for content in results.get('objects', []):
       
    32         url_parts = urlparse.urlparse(content.get('image',''))
    28         url_parts = urlparse.urlparse(content.get('image',''))
    33         if not url_parts.netloc:
    29         if not url_parts.netloc:
    34             content['image'] = settings.LDT_DOMAIN + content.get('image','')
    30             content['image'] = settings.LDT_DOMAIN + content.get('image','')
       
    31 
       
    32     paginator = Paginator(contents, settings.PER_PAGE, 0, True)
       
    33 
       
    34     page = request.GET.get('page',1)
       
    35     if page == 'last':
       
    36         page = paginator.num_pages
       
    37     try:
       
    38         results = paginator.page(page)
       
    39     except PageNotAnInteger:
       
    40         # If page is not an integer, deliver first page.
       
    41         results = paginator.page(1)
       
    42     except EmptyPage:
       
    43         # If page is out of range (e.g. 9999), deliver last page of results.
       
    44         results = paginator.page(paginator.num_pages)
    35         
    45         
    36     return render_to_response('hp/all_videos.html',{'results':results}, context_instance=RequestContext(request))
    46     return render_to_response('hp/all_videos.html',{'results':results}, context_instance=RequestContext(request))
    37     
    47     
    38 
    48 
    39 def show_video_details(request, content_id):
    49 def show_video_details(request, content_id):