src/hp/api/videos.py
changeset 38 0fe2f3f5466f
equal deleted inserted replaced
37:b4ed8cdc654c 38:0fe2f3f5466f
       
     1 # -*- coding: utf-8 -*-
       
     2 '''
       
     3 Created on Nov 13, 2012
       
     4 
       
     5 @author: ymh
       
     6 '''
       
     7 import json
       
     8 from django.http import HttpResponse, HttpResponseBadRequest
       
     9 import requests
       
    10 from django.conf import settings
       
    11 import logging
       
    12 
       
    13 logger = logging.getLogger(__name__)
       
    14 
       
    15 def recommended(request):
       
    16     
       
    17     keywords_str = request.GET.get('keywords', None)
       
    18 
       
    19     if not keywords_str:
       
    20         return HttpResponseBadRequest("Error, null keywords")
       
    21     
       
    22     keywords = [kw.strip() for kw in keywords_str.split(",")]
       
    23     
       
    24     ldt_res = get_ldt_res(keywords)
       
    25     
       
    26     logger.debug("LDT results : " + repr(ldt_res) )
       
    27     
       
    28     kc_res = get_kc_res(keywords)
       
    29     
       
    30     res = mix_results(ldt_res, kc_res)
       
    31     
       
    32     return HttpResponse(json.dumps(res), content_type='application/json; charset=utf-8', )
       
    33 
       
    34 
       
    35 def mix_results(ldt_res, kc_res):
       
    36     
       
    37     #TODO : implement mixin of results
       
    38     return ldt_res
       
    39 
       
    40 
       
    41 def get_ldt_res(keywords):    
       
    42     
       
    43     recommended_url = settings.LDT_API_URL + "contents/recommended/"
       
    44     
       
    45     r = requests.get(recommended_url, params={'keywords':  ",".join(keywords)})
       
    46     logger.debug(repr(r))
       
    47     
       
    48     #TODO : manage error codes
       
    49     
       
    50     return r.json
       
    51     
       
    52 
       
    53 def get_kc_res(keywords):
       
    54     
       
    55     #TODO : implement
       
    56     return None