forked from 0x2620/pandora
merging changes
This commit is contained in:
commit
0003bb3e8f
8 changed files with 63 additions and 2470 deletions
|
@ -117,3 +117,4 @@ class Annotation(models.Model):
|
|||
|
||||
def __unicode__(self):
|
||||
return u"%s/%s-%s" %(self.item, self.start, self.end)
|
||||
|
||||
|
|
|
@ -4,10 +4,12 @@ from __future__ import division, with_statement
|
|||
|
||||
from django.db import models
|
||||
from django.contrib.auth.models import User, Group
|
||||
from django.db.models import Q
|
||||
|
||||
import ox
|
||||
from ox.django import fields
|
||||
|
||||
from annotation.models import Annotation
|
||||
import managers
|
||||
|
||||
|
||||
|
@ -34,12 +36,28 @@ class Event(models.Model):
|
|||
ordering = ('name_sort', )
|
||||
|
||||
#start yyyy-mm-dd|mm-dd|dow 00:00|00:00
|
||||
#end yyyy-mm-dd|mm-dd|dow 00:00|00:01
|
||||
start = models.CharField(default='', max_length=255)
|
||||
end = models.CharField(default='', max_length=255)
|
||||
startTime = models.BigIntegerField(default=0)
|
||||
|
||||
#end yyyy-mm-dd|mm-dd|dow 00:00|00:01
|
||||
end = models.CharField(default='', max_length=255)
|
||||
endTime = models.BigIntegerField(default=0)
|
||||
|
||||
duration = models.CharField(default='', max_length=255)
|
||||
durationTime = models.BigIntegerField(default=0)
|
||||
|
||||
type = models.CharField(default='', max_length=255)
|
||||
matches = models.IntegerField(default=0)
|
||||
|
||||
def get_matches(self):
|
||||
q = Q(value__icontains=" " + self.name)|Q(value__startswith=self.name)
|
||||
for name in self.alternativeNames:
|
||||
q = q|Q(value__icontains=" " + name)|Q(value__startswith=name)
|
||||
return Annotation.objects.filter(q)
|
||||
|
||||
def update_matches(self):
|
||||
self.matches = self.get_matches().count()
|
||||
self.save()
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.name_sort:
|
||||
|
@ -56,7 +74,8 @@ class Event(models.Model):
|
|||
'user': self.user.username,
|
||||
}
|
||||
for key in ('created', 'modified',
|
||||
'name', 'alternativeNames', 'start', 'end',
|
||||
'type'):
|
||||
'name', 'alternativeNames',
|
||||
'start', 'end', 'duration',
|
||||
'type', 'matches'):
|
||||
j[key] = getattr(self, key)
|
||||
return j
|
||||
|
|
|
@ -464,6 +464,36 @@ def setPoster(request): #parse path and return info
|
|||
return render_to_json_response(response)
|
||||
actions.register(setPoster, cache=False)
|
||||
|
||||
def lookup(request):
|
||||
'''
|
||||
param data {
|
||||
title: string,
|
||||
director: [string],
|
||||
year: string,
|
||||
id: string
|
||||
}
|
||||
return {
|
||||
status: {'code': int, 'text': string},
|
||||
data: {
|
||||
title: string,
|
||||
director: [string],
|
||||
year: string,
|
||||
id: string
|
||||
}
|
||||
}
|
||||
'''
|
||||
data = json.loads(request.POST['data'])
|
||||
if 'id' in data:
|
||||
i = models.Item.objects.get(itemId=data['id'])
|
||||
r = {'id': i.itemId}
|
||||
for key in ('title', 'director', 'year'):
|
||||
r[key] = i.get(key)
|
||||
response = json_response(r)
|
||||
else:
|
||||
response = json_response(status=404, text='not found')
|
||||
return render_to_json_response(response)
|
||||
actions.register(lookup)
|
||||
|
||||
def getImdbId(request):
|
||||
'''
|
||||
param data {
|
||||
|
|
|
@ -124,13 +124,14 @@ pandora.reloadList = function() {
|
|||
});
|
||||
app.$ui.list.bindEvent({
|
||||
init: function(event, data) {
|
||||
app.$ui.folderList[listData.status]
|
||||
.value(listData.id, 'items', data.items);
|
||||
var folder = listData.status == 'private' ? 'personal' : listData.status;
|
||||
app.$ui.folderList[folder].value(listData.id, 'items', data.items);
|
||||
}
|
||||
})
|
||||
.bindEventOnce({
|
||||
load: function(event, data) {
|
||||
app.$ui.list.gainFocus().options({selected: [data.items]});
|
||||
app.$ui.list.gainFocus();
|
||||
if (data) app.$ui.list.options({selected: [data.items]});
|
||||
}
|
||||
})
|
||||
.reloadList();
|
||||
|
|
|
@ -21,7 +21,7 @@ pandora.ui.info = function() {
|
|||
)
|
||||
.bindEvent({
|
||||
toggle: function(event, data) {
|
||||
UI.set({showInfo: !data.collapsed});
|
||||
pandora.UI.set({showInfo: !data.collapsed});
|
||||
pandora.resizeFolders();
|
||||
}
|
||||
});
|
||||
|
|
|
@ -193,10 +193,10 @@ pandora.ui.list = function(view) { // fixme: remove view argument
|
|||
});
|
||||
},
|
||||
'delete': function(event, data) {
|
||||
getListData().editable && pandora.api.removeListItems({
|
||||
pandora.getListData().editable && pandora.api.removeListItems({
|
||||
list: app.user.ui.list,
|
||||
items: data.ids
|
||||
}, reloadList);
|
||||
}, pandora.reloadList);
|
||||
},
|
||||
init: function(event, data) {
|
||||
app.$ui.total.html(pandora.ui.status('total', data));
|
||||
|
@ -317,10 +317,10 @@ pandora.ui.list = function(view) { // fixme: remove view argument
|
|||
});
|
||||
},
|
||||
paste: function(event, data) {
|
||||
data.items && getListData().editable && pandora.api.addListItems({
|
||||
data.items && pandora.getListData().editable && pandora.api.addListItems({
|
||||
list: app.user.ui.list,
|
||||
items: data.items
|
||||
}, reloadList);
|
||||
}, pandora.reloadList);
|
||||
},
|
||||
select: function(event, data) {
|
||||
var $still, $timeline;
|
||||
|
|
File diff suppressed because it is too large
Load diff
1155
static/js/ui.js
1155
static/js/ui.js
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue