fix padma.jsonc and adjust whats needed to get it running

This commit is contained in:
j 2011-12-05 14:48:59 +01:00
parent b855c153e0
commit c930383b32
12 changed files with 93 additions and 45 deletions

View file

@ -74,11 +74,10 @@ class Annotation(models.Model):
if l['id'] == id:
return l
return {}
private = get_layer(self.layer).get('private')
if not self.clip and not private or \
(self.clip and not private and \
self.start != self.clip.start or self.end != self.clip.end):
self.clip, created = Clip.get_or_create(self.item, self.start, self.end)
private = get_layer(self.layer).get('private', False)
if not private:
if not self.clip or self.start != self.clip.start or self.end != self.clip.end:
self.clip, created = Clip.get_or_create(self.item, self.start, self.end)
super(Annotation, self).save(*args, **kwargs)
if set_public_id:

View file

@ -107,6 +107,11 @@ def update_static():
ox.net.saveUrl(url, "%s.gz"%path)
os.system('gunzip "%s.gz"' % path)
#poster script
if not os.path.exists(settings.ITEM_POSTER):
os.symlink(settings.ITEM_POSTER.replace('poster', 'oxdb_poster'),
settings.ITEM_POSTER)
def init():
load_config()
thread.start_new_thread(reloader_thread, ())

View file

@ -29,7 +29,9 @@ def index(request):
def embed(request, id):
context = RequestContext(request, {'settings': settings})
context = RequestContext(request, {
'settings': settings
})
return render_to_response('embed.html', context)

View file

@ -111,7 +111,7 @@ attrs = {
'lightness': models.FloatField(default=0, db_index=True),
'volume': models.FloatField(default=0, null=True, db_index=True),
'director': models.CharField(max_length=1000, db_index=True),
'director': models.CharField(max_length=1000, null=True, db_index=True),
'title': models.CharField(max_length=1000, db_index=True),
}
public_layers = [l['id']

View file

@ -6,26 +6,26 @@ from django.conf.urls.defaults import *
urlpatterns = patterns("item.views",
#frames
(r'^(?P<id>[A-Z0-9].+)/(?P<size>\d+)p(?P<position>[\d\.]*)\.jpg$', 'frame'),
(r'^(?P<id>[A-Z0-9].*)/(?P<size>\d+)p(?P<position>[\d\.]*)\.jpg$', 'frame'),
#timelines
(r'^(?P<id>[A-Z0-9].+)/timeline(?P<size>\d+)p(?P<position>\d+)\.png$', 'timeline'),
(r'^(?P<id>[A-Z0-9].+)/timeline(?P<size>\d+)p\.png$', 'timeline_overview'),
(r'^(?P<id>[A-Z0-9].*)/timeline(?P<size>\d+)p(?P<position>\d+)\.png$', 'timeline'),
(r'^(?P<id>[A-Z0-9].*)/timeline(?P<size>\d+)p\.png$', 'timeline_overview'),
#video
(r'^(?P<id>[A-Z0-9].+)/(?P<resolution>\d+)p(?P<index>\d*)\.(?P<format>webm|ogv|mp4)$', 'video'),
(r'^(?P<id>[A-Z0-9].*)/(?P<resolution>\d+)p(?P<index>\d*)\.(?P<format>webm|ogv|mp4)$', 'video'),
#torrent
(r'^(?P<id>[A-Z0-9][A-Za-z0-9]+)/torrent/(?P<filename>.*?)$', 'torrent'),
(r'^(?P<id>[A-Z0-9].*)/torrent/(?P<filename>.*?)$', 'torrent'),
#icon
(r'^(?P<id>[A-Z0-9].+)/icon(?P<size>\d*)\.jpg$', 'icon'),
(r'^(?P<id>[A-Z0-9].*)/icon(?P<size>\d*)\.jpg$', 'icon'),
#poster
(r'^(?P<id>[A-Z0-9].+)/poster(?P<size>\d+)\.jpg$', 'poster'),
(r'^(?P<id>[A-Z0-9].+)/siteposter(?P<size>\d*)\.jpg$', 'siteposter'),
(r'^(?P<id>[A-Z0-9].+)/poster\.jpg$', 'siteposter'),
(r'^(?P<id>[A-Z0-9].+)/frameposter(?P<position>\d+).jpg$', 'poster_frame'),
(r'^(?P<id>[A-Z0-9].*)/poster(?P<size>\d+)\.jpg$', 'poster'),
(r'^(?P<id>[A-Z0-9].*)/siteposter(?P<size>\d*)\.jpg$', 'siteposter'),
(r'^(?P<id>[A-Z0-9].*)/poster\.jpg$', 'siteposter'),
(r'^(?P<id>[A-Z0-9].*)/frameposter(?P<position>\d+).jpg$', 'poster_frame'),
(r'^random$', 'random_annotation'),
)

View file

@ -15,16 +15,16 @@
"capabilities": {
// "canClickMap": {"friend": true, "staff": true, "admin": true},
"canDeleteItems": {"admin": true},
"canDownloadVideo": {"guest": 0, "member": 0, "friend": 4, "staff": 4, "admin": 4},
"canDownloadVideo": {"guest": 1, "member": 1, "staff": 4, "admin": 4},
"canEditFeaturedLists": {"staff": true, "admin": true},
"canEditMetadata": {"staff": true, "admin": true},
"canEditSitePages": {"staff": true, "admin": true},
"canEditUsers": {"admin": true},
"canPlayClips": {"guest": 2, "member": 2, "friend": 4, "staff": 4, "admin": 4},
"canPlayVideo": {"guest": 1, "member": 1, "friend": 4, "staff": 4, "admin": 4},
"canPlayClips": {"guest": 1, "member": 1, "staff": 4, "admin": 4},
"canPlayVideo": {"guest": 1, "member": 1, "staff": 4, "admin": 4},
"canSeeDebugMenu": {"staff": true, "admin": true},
"canSeeFiles": {"staff": true, "admin": true},
"canSeeItem": {"guest": 3, "member": 3, "friend": 4, "staff": 4, "admin": 4},
"canSeeItem": {"guest": 1, "member": 1, "staff": 4, "admin": 4},
"canSeeExtraItemViews": {"friend": true, "staff": true, "admin": true}
},
/*
@ -43,10 +43,12 @@
// fixme: either this, or filter: true in itemKeys, but not both
"filters": [
{"id": "director", "title": "Director", "type": "string"},
{"id": "country", "title": "Country", "type": "string"},
{"id": "location", "title": "Location", "type": "string"},
{"id": "year", "title": "Year", "type": "integer"},
{"id": "language", "title": "Language", "type": "string"},
{"id": "source", "title": "Source", "type": "string"},
{"id": "collection", "title": "Collection", "type": "string"},
{"id": "category", "title": "Category", "type": "string"},
{"id": "writer", "title": "Writer", "type": "string"},
{"id": "producer", "title": "Producer", "type": "string"},
{"id": "cinematographer", "title": "Cinematographer", "type": "string"},
@ -104,6 +106,13 @@
"find": true,
"sort": "person"
},
{
"id": "name",
"title": "Name",
"type": ["string"],
"autocomplete": true,
"find": true
},
{
"id": "collection",
"title": "Collection",
@ -147,6 +156,24 @@
"filter": true,
"find": true
},
{
"id": "category",
"title": "Category",
"type": ["string"],
"autocomplete": true,
"columnWidth": 180,
"filter": true,
"find": true
},
{
"id": "location",
"title": "Location",
"type": "string",
"autocomplete": true,
"columnWidth": 180,
"filter": true,
"find": true
},
{
"id": "genre",
"title": "Genre",
@ -198,25 +225,25 @@
"columnWidth": 90
},
{
"id": "location",
"id": "locations",
"title": "Locations",
"type": "layer",
"find": true
},
{
"id": "keyword",
"id": "keywords",
"title": "Keywords",
"type": "layer",
"find": true
},
{
"id": "description",
"id": "descriptions",
"title": "Descriptions",
"type": "layer",
"find": true
},
{
"id": "transcript",
"id": "transcripts",
"title": "Transcripts",
"type": "layer",
"find": true
@ -357,10 +384,10 @@
"type": "enum",
"columnWidth": 90,
"format": {"type": "ColorLevel", "args": [
["Public", "Relaxed", "Regular", "Restricted", "Private"]
["Public", "Restricted", "Private"]
]},
"sortOperator": "+",
"values": ["Public", "Relaxed", "Regular", "Restricted", "Private", "Unknown"]
"values": ["Public", "Restricted", "Private", "Unknown"]
}
],
"itemName": {
@ -379,26 +406,25 @@
],
"layers": [
{
"id": "location",
"id": "locations",
"title": "Locations",
"type": "location",
"overlap": true,
"private": true
"overlap": true
},
{
"id": "keyword",
"id": "keywords",
"title": "Keywords",
"overlap": true,
"type": "text"
},
{
"id": "description",
"id": "descriptions",
"title": "Descriptions",
"type": "text",
"overlay": true
},
{
"id": "transcript",
"id": "transcripts",
"title": "Transcripts",
"type": "text",
"overlay": true
@ -467,16 +493,16 @@
"clipsColumns": 2,
"columns": {
"Colors": {
"columns": ["title", "director", "country", "year", "hue", "saturation", "brightness"],
"columns": ["title", "director", "location", "collection", "hue", "saturation", "brightness"],
"columnWidth": {}
}
},
"filters": [
{"id": "director", "sort": [{"key": "items", "operator": "-"}]},
{"id": "country", "sort": [{"key": "items", "operator": "-"}]},
{"id": "year", "sort": [{"key": "name", "operator": "-"}]},
{"id": "language", "sort": [{"key": "items", "operator": "-"}]},
{"id": "source", "sort": [{"key": "items", "operator": "-"}]}
{"id": "source", "sort": [{"key": "items", "operator": "-"}]},
{"id": "collection", "sort": [{"key": "name", "operator": "-"}]},
{"id": "category", "sort": [{"key": "items", "operator": "-"}]},
{"id": "location", "sort": [{"key": "items", "operator": "-"}]}
],
"filtersSize": 176,
"find": {"conditions": [], "operator": "&"},
@ -486,7 +512,7 @@
"itemFind": {"conditions": [], "operator": "&"},
"itemSort": [{"key": "position", "operator": "+"}],
"itemView": "info",
"listColumns": ["title", "director", "country", "year", "language", "duration", "source"],
"listColumns": ["title", "director", "location", "collection", "language", "duration", "source"],
"listColumnWidth": {},
"listSelection": [],
"listSort": [{"key": "director", "operator": "+"}],

View file

@ -185,8 +185,8 @@ VIDEO_PREFIX=''
#SESSION_COOKIE_DOMAIN=*.example.com"
SCRIPT_ROOT = normpath(join(PROJECT_ROOT, '..', 'scripts'))
#copy scripts and adjust to customize
ITEM_POSTER = join(SCRIPT_ROOT, 'oxdb_poster')
#change script to customize
ITEM_POSTER = join(SCRIPT_ROOT, 'poster')
#ITEM_POSTER = join(SCRIPT_ROOT, 'padma_poster')
ITEM_ICON = join(SCRIPT_ROOT, 'item_icon')
LIST_ICON = join(SCRIPT_ROOT, 'list_icon')

View file

@ -3,6 +3,10 @@
<head>
<meta charset="utf-8" />
<title>{{settings.SITENAME}}</title>
<script>
if (localStorage && !localStorage.OxTheme)
localStorage.OxTheme = '{{settings.CONFIG.user.ui.theme}}';
</script>
<script type="text/javascript" src="/static/oxjs/build/Ox.js"></script>
<script type="text/javascript" src="/static/js/embed/pandora.js"></script>
</head>

View file

@ -8,6 +8,10 @@
<link rel="icon" href="/static/png/icon64.png" sizes="48x48"/>
<meta name="application-name" content="{{settings.SITENAME}}"/>
<meta name="application-url" content="{{base_url}}"/>
<script>
if (localStorage && !localStorage.OxTheme)
localStorage.OxTheme = '{{settings.CONFIG.user.ui.theme}}';
</script>
<script type="text/javascript" src="/static/oxjs/build/Ox.js"></script>
<script type="text/javascript" src="/static/js/pandora.js"></script>
</head>

View file

@ -15,6 +15,14 @@ class LayerAlias(models.Model):
def __unicode__(self):
return u"%s=%s" % (self.old, self.new)
class ListAlias(models.Model):
old = models.CharField(max_length=255, unique=True)
new = models.CharField(max_length=255)
def __unicode__(self):
return u"%s=%s" % (self.old, self.new)
class Alias(models.Model):
url = models.CharField(max_length=255, unique=True)
target = models.CharField(max_length=255)

View file

@ -222,7 +222,7 @@ def get_ui(user_ui, user=None):
pos = Position.objects.get(list=l, section=section)
created = False
except Position.DoesNotExist:
pos = Position(list=l, section=section, user=user)
pos = Position(list=l, section=section, user=l.user)
pos.save()
created = True
else:

View file

@ -18,7 +18,7 @@ pandora.ui.filesView = function(options, self) {
self.$toolbar = Ox.Bar({
size: 24
});
/*
self.$userSelect = Ox.Select({
items: [
{id: 'admin', title: 'Admin', disabled: true},
@ -36,7 +36,7 @@ pandora.ui.filesView = function(options, self) {
margin: '4px'
})
.appendTo(self.$toolbar);
*/
self.$ignoreButton = Ox.Button({
disabled: 'true',
title: 'Ignore Selected Files...'