Compare commits
4 commits
1d6d53e282
...
e7fce4cf26
| Author | SHA1 | Date | |
|---|---|---|---|
| e7fce4cf26 | |||
| 4e4d64febc | |||
| 72358a7bce | |||
| f591f66634 |
7 changed files with 60 additions and 23 deletions
22
pandora/archive/migrations/0005_auto_20180804_1554.py
Normal file
22
pandora/archive/migrations/0005_auto_20180804_1554.py
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11.13 on 2018-08-04 15:54
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import django.core.serializers.json
|
||||||
|
from django.db import migrations, models
|
||||||
|
import oxdjango.fields
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('archive', '0004_jsonfield'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='stream',
|
||||||
|
name='flags',
|
||||||
|
field=oxdjango.fields.JSONField(default=dict, editable=False, encoder=django.core.serializers.json.DjangoJSONEncoder),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -521,7 +521,7 @@ class File(models.Model):
|
||||||
n += 1
|
n += 1
|
||||||
profile = '%sp.%s' % (resolution, config['formats'][0])
|
profile = '%sp.%s' % (resolution, config['formats'][0])
|
||||||
target = os.path.join(tmp, language + '_' + profile)
|
target = os.path.join(tmp, language + '_' + profile)
|
||||||
ok, error = extract.stream(media, target, profile, info, audio_track=i+1)
|
ok, error = extract.stream(media, target, profile, info, audio_track=i+1, flags=self.flags)
|
||||||
if ok:
|
if ok:
|
||||||
tinfo = ox.avinfo(target)
|
tinfo = ox.avinfo(target)
|
||||||
del tinfo['path']
|
del tinfo['path']
|
||||||
|
|
@ -691,6 +691,7 @@ class Stream(models.Model):
|
||||||
available = models.BooleanField(default=False)
|
available = models.BooleanField(default=False)
|
||||||
oshash = models.CharField(max_length=16, null=True, db_index=True)
|
oshash = models.CharField(max_length=16, null=True, db_index=True)
|
||||||
info = JSONField(default=dict, editable=False)
|
info = JSONField(default=dict, editable=False)
|
||||||
|
flags = JSONField(default=dict, editable=False)
|
||||||
duration = models.FloatField(default=0)
|
duration = models.FloatField(default=0)
|
||||||
aspect_ratio = models.FloatField(default=0)
|
aspect_ratio = models.FloatField(default=0)
|
||||||
|
|
||||||
|
|
@ -750,7 +751,7 @@ class Stream(models.Model):
|
||||||
self.media.name = self.path(self.name())
|
self.media.name = self.path(self.name())
|
||||||
target = self.media.path
|
target = self.media.path
|
||||||
info = ox.avinfo(media)
|
info = ox.avinfo(media)
|
||||||
ok, error = extract.stream(media, target, self.name(), info)
|
ok, error = extract.stream(media, target, self.name(), info, flags=self.flags)
|
||||||
# file could have been moved while encoding
|
# file could have been moved while encoding
|
||||||
# get current version from db and update
|
# get current version from db and update
|
||||||
_self = Stream.objects.get(id=self.id)
|
_self = Stream.objects.get(id=self.id)
|
||||||
|
|
|
||||||
|
|
@ -1032,9 +1032,16 @@ class Item(models.Model):
|
||||||
elif sort_type == 'date':
|
elif sort_type == 'date':
|
||||||
value = self.get(source)
|
value = self.get(source)
|
||||||
if isinstance(value, string_types):
|
if isinstance(value, string_types):
|
||||||
value = datetime_safe.datetime.strptime(value, '%Y-%m-%d')
|
value_ = None
|
||||||
set_value(s, name, value)
|
for fmt in ('%Y-%m-%d', '%Y-%m', '%Y'):
|
||||||
|
try:
|
||||||
|
value_ = datetime_safe.datetime.strptime(value, fmt)
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
continue
|
||||||
|
if value_ is not None:
|
||||||
|
set_value(s, name, value_)
|
||||||
s.save()
|
s.save()
|
||||||
|
|
||||||
def update_facet(self, key):
|
def update_facet(self, key):
|
||||||
|
|
|
||||||
|
|
@ -412,11 +412,8 @@ pandora.ui.documentInfoView = function(data) {
|
||||||
|
|
||||||
function formatValue(key, value) {
|
function formatValue(key, value) {
|
||||||
var ret;
|
var ret;
|
||||||
if (key == 'date') {
|
if (key == 'date' && (!value || value.split('-').length < 4)) {
|
||||||
ret = value ? Ox.formatDate(value,
|
ret = pandora.formatDate(value);
|
||||||
['', '%Y', '%B %Y', '%B %e, %Y'][value.split('-').length],
|
|
||||||
true
|
|
||||||
) : '';
|
|
||||||
} else if (nameKeys.indexOf(key) > -1) {
|
} else if (nameKeys.indexOf(key) > -1) {
|
||||||
ret = formatLink(value.split(', '), key);
|
ret = formatLink(value.split(', '), key);
|
||||||
} else if (listKeys.indexOf(key) > -1) {
|
} else if (listKeys.indexOf(key) > -1) {
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ pandora.ui.editor = function(data) {
|
||||||
enableSetPosterFrame: !pandora.site.media.importFrames && data.editable,
|
enableSetPosterFrame: !pandora.site.media.importFrames && data.editable,
|
||||||
enableSubtitles: ui.videoSubtitles,
|
enableSubtitles: ui.videoSubtitles,
|
||||||
find: ui.itemFind,
|
find: ui.itemFind,
|
||||||
|
findLayer: pandora.user.ui._findState.key,
|
||||||
getFrameURL: function(position) {
|
getFrameURL: function(position) {
|
||||||
return pandora.getMediaURL('/' + ui.item + '/' + ui.videoResolution + 'p' + position + '.jpg?' + data.modified);
|
return pandora.getMediaURL('/' + ui.item + '/' + ui.videoResolution + 'p' + position + '.jpg?' + data.modified);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -594,19 +594,7 @@ pandora.ui.infoView = function(data) {
|
||||||
function formatValue(key, value) {
|
function formatValue(key, value) {
|
||||||
var ret;
|
var ret;
|
||||||
if (key == 'date' && (!value || value.split('-').length < 4)) {
|
if (key == 'date' && (!value || value.split('-').length < 4)) {
|
||||||
if (!value) {
|
ret = pandora.formatDate(value);
|
||||||
ret = ''
|
|
||||||
} else if (Ox.contains(value, ':') && value.split('-').length == 3) {
|
|
||||||
ret = Ox.formatDate(value,
|
|
||||||
['', '', '%B %e, %Y %H:%M', '%B %e, %Y %H:%M:%S'][value.split(':').length],
|
|
||||||
false
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
ret = Ox.formatDate(value,
|
|
||||||
['', '%Y', '%B %Y', '%B %e, %Y'][value.split('-').length],
|
|
||||||
true
|
|
||||||
);
|
|
||||||
}
|
|
||||||
} else if (listKeys.indexOf(key) > -1) {
|
} else if (listKeys.indexOf(key) > -1) {
|
||||||
ret = value.split(', ');
|
ret = value.split(', ');
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -1115,6 +1115,27 @@ pandora.formatDocumentKey = function(key, data, size) {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pandora.formatDate = function(value) {
|
||||||
|
var ret;
|
||||||
|
if (!value) {
|
||||||
|
ret = ''
|
||||||
|
} else if (Ox.contains(value, ':') && value.split('-').length == 3) {
|
||||||
|
ret = Ox.formatDate(value,
|
||||||
|
['', '', '%B %e, %Y %H:%M', '%B %e, %Y %H:%M:%S'][value.split(':').length],
|
||||||
|
false
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
ret = Ox.formatDate(value,
|
||||||
|
['', '%Y', '%B %Y', '%B %e, %Y'][value.split('-').length],
|
||||||
|
true
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (ret.trim() == 'NaN') {
|
||||||
|
ret = value;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
pandora.getAllItemsTitle = function(section) {
|
pandora.getAllItemsTitle = function(section) {
|
||||||
section = section || pandora.user.ui.section;
|
section = section || pandora.user.ui.section;
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue