oxdata/oxdata/movie/views.py

48 lines
1.3 KiB
Python

# -*- coding: utf-8 -*-
# vi:si:et:sw=4:sts=4:ts=4
from __future__ import division
from oxdjango.shortcuts import render_to_json_response, json_response
import ox.web.imdb
from oxdjango.api import actions
import models
def getId(request, data):
response = json_response()
movie = models.find(data)
if movie:
response['data'] = movie.json()
else:
response['status'] = {'text':'not found', 'code': 404}
return render_to_json_response(response)
actions.register(getId)
def getIds(request, data):
response = json_response()
response['data']['items'] = models.Match.find(data)
return render_to_json_response(response)
actions.register(getIds)
def getData(request, data):
response = json_response()
id = data['id']
if len(id) == 7:
i, created = models.Imdb.objects.get_or_create(imdb=id)
if created:
i.update()
data = i.data(request)
response['data'] = data
else:
response['status'] = {'text':'not found', 'code': 404}
return render_to_json_response(response)
actions.register(getData)
def parsePath(request, data):
path = data['path']
response = json_response(ox.parse_movie_path(path))
return render_to_json_response(response)
actions.register(parsePath)