migrations, add celery tasks
This commit is contained in:
parent
7b74c5f2ec
commit
f6c44a68a7
12 changed files with 251 additions and 63 deletions
47
oxdata/lookup/migrations/0002_lookdown.py
Normal file
47
oxdata/lookup/migrations/0002_lookdown.py
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
# encoding: utf-8
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
|
||||
# Deleting model 'karagarga'
|
||||
db.delete_table('lookup_karagarga')
|
||||
|
||||
def backwards(self, orm):
|
||||
|
||||
# Adding model 'karagarga'
|
||||
db.create_table('lookup_karagarga', (
|
||||
('movie_id', self.gf('django.db.models.fields.related.ForeignKey')(default=None, related_name='karagarga_ids', to=orm['lookup.MovieId'])),
|
||||
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
|
||||
('karagarga_id', self.gf('django.db.models.fields.IntegerField')(unique=True)),
|
||||
))
|
||||
db.send_create_signal('lookup', ['karagarga'])
|
||||
|
||||
|
||||
models = {
|
||||
'lookup.movieid': {
|
||||
'Meta': {'object_name': 'MovieId'},
|
||||
'amg_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
|
||||
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
|
||||
'criterion_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
|
||||
'director': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
|
||||
'episode': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
|
||||
'episode_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
|
||||
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'imdb_id': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '7', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
|
||||
'impawards_id': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
|
||||
'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
|
||||
'oxdb_id': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '42', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
|
||||
'season': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
|
||||
'series_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
|
||||
'wikipedia_id': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
|
||||
'year': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '4', 'blank': 'True'})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['lookup']
|
||||
19
oxdata/lookup/tasks.py
Normal file
19
oxdata/lookup/tasks.py
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# vi:si:et:sw=4:sts=4:ts=4
|
||||
from datetime import timedelta
|
||||
|
||||
from celery.decorators import task, periodic_task
|
||||
|
||||
import models
|
||||
import cache
|
||||
|
||||
@periodic_task(run_every=timedelta(days=1))
|
||||
def cronjob(**kwargs):
|
||||
print "do some cleanup stuff once a day"
|
||||
cache.getIds()
|
||||
|
||||
@task(ignore_resulsts=True, queue='default')
|
||||
def updateImdb(id):
|
||||
movie_id = models.MovieId.objects.get(pk=id)
|
||||
movie_id.updateFromImdb()
|
||||
|
||||
|
|
@ -9,22 +9,31 @@ from oxdjango.shortcuts import render_to_json_response
|
|||
|
||||
import models
|
||||
|
||||
def get_movie_id(request):
|
||||
movie_id = None
|
||||
if 'movieId' in request.GET:
|
||||
movieId = request.GET['movieId']
|
||||
if len(movieId) == 7:
|
||||
movie_id = models.MovieId.objects.get(imdb_id=movieId)
|
||||
else:
|
||||
movie_id = models.MovieId.objects.get(oxdb_id=movieId)
|
||||
if 'imdb' in request.GET:
|
||||
imdbId = request.GET['imdb']
|
||||
movie_id = models.MovieId.objects.get(imdb_id=imdbId)
|
||||
elif 'oxdb' in request.GET:
|
||||
oxdbId = request.GET['oxdb']
|
||||
movie_id = models.MovieId.objects.get(oxdb_id=oxdbId)
|
||||
elif 'criterion' in request.GET:
|
||||
criterion_id = request.GET['criterion']
|
||||
movie_id = models.MovieId.objects.get(criterion_id=criterion_id)
|
||||
if movie_id:
|
||||
movie_id.updateFromImdb()
|
||||
return movie_id
|
||||
|
||||
def ids(request):
|
||||
json = {}
|
||||
movie = None
|
||||
if 'imdb' in request.GET:
|
||||
imdb_id = request.GET['imdb']
|
||||
movie = models.getMovieIdByImdbId(imdb_id)
|
||||
elif 'oxdb' in request.GET:
|
||||
try:
|
||||
movie = models.MovieId.objects.get(oxdb_id=request.GET['oxdb'])
|
||||
except models.MovieId.DoesNotExist:
|
||||
pass
|
||||
if 'criterion' in request.GET:
|
||||
criterion_id = request.GET['criterion']
|
||||
movie = models.MovieId.objects.get(criterion_id=criterion_id)
|
||||
movie = get_movie_id(request)
|
||||
if movie:
|
||||
movie.updateFromImdb()
|
||||
json = movie.json()
|
||||
return render_to_json_response(json)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue