include data to generate oxdb id
This commit is contained in:
parent
dd5ebf0ed5
commit
27a5f0ab76
1 changed files with 22 additions and 1 deletions
|
@ -1,6 +1,8 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# vi:si:et:sw=4:sts=4:ts=4
|
||||
import os.path
|
||||
import os
|
||||
import hashlib
|
||||
|
||||
from django.db import models
|
||||
from django.db.models import Q
|
||||
from django.contrib.auth.models import User
|
||||
|
@ -22,6 +24,14 @@ class MovieId(models.Model):
|
|||
created = models.DateTimeField(auto_now_add=True)
|
||||
modified = models.DateTimeField(auto_now=True)
|
||||
|
||||
title = models.CharField(max_length=1000, blank=True, default='')
|
||||
year = models.CharField(max_length=4, blank=True, default='')
|
||||
director = models.CharField(max_length=1000, blank=True, default='')
|
||||
series_title = models.TextField(blank=True, default='')
|
||||
episode_title = models.TextField(blank=True, default='')
|
||||
season = models.IntegerField(default=-1)
|
||||
episode = models.IntegerField(default=-1)
|
||||
|
||||
oxdb_id = models.CharField(max_length=42, unique=True, blank=True, null=True, default=None)
|
||||
imdb_id = models.CharField(max_length=7, unique=True, blank=True, null=True, default=None)
|
||||
|
||||
|
@ -52,6 +62,17 @@ class MovieId(models.Model):
|
|||
setattr(self, _key.get(key, key), data[key])
|
||||
self.save()
|
||||
|
||||
def gen_oxdb_id(self):
|
||||
oxid_value = u"\n".join([self.title, self.director, self.year])
|
||||
oxid = hashlib.sha1(oxid_value.encode('utf-8')).hexdigest()
|
||||
if self.episode > -1:
|
||||
oxid_value = u"\n".join([self.title, "%02d" % self.season])
|
||||
oxid = hashlib.sha1(oxid_value.encode('utf-8')).hexdigest()[:20]
|
||||
oxid_value = u"\n".join(["%02d" % self.episode, self.episode_title, self.director, self.year])
|
||||
oxid += hashlib.sha1(oxid_value.encode('utf-8')).hexdigest()[:20]
|
||||
self.oxdb_id = u"0x" + oxid
|
||||
self.save()
|
||||
|
||||
def json(self):
|
||||
json = {}
|
||||
for key in ('imdb_id',
|
||||
|
|
Loading…
Reference in a new issue