7620795862
add update_itemsfolder command
2016-02-20 10:41:22 +00:00
0367816257
only crop with 4 crop points
2016-02-20 10:41:22 +00:00
1ef547f885
update celery integration
2016-02-20 10:41:22 +00:00
f060601d40
django 1.9 returns parsed value not raw data
2016-02-20 15:15:02 +05:30
e9bcd19161
fix initdb
2016-02-20 15:15:02 +05:30
29c6dc866b
fix index
2016-02-20 15:15:02 +05:30
7a6515183a
add wsgi
2016-02-20 15:15:02 +05:30
cc84487193
commit_unless_managed->commit
2016-02-20 15:15:02 +05:30
62caf55fe6
stop using RequestContext
2016-02-20 15:15:02 +05:30
3f02f6086a
fix clip random
2016-02-20 15:15:01 +05:30
2fe857d4fd
remove optparse
2016-02-20 15:15:01 +05:30
4219246909
db migration
2016-02-20 15:15:01 +05:30
976860ec30
use django.conf.urls url instead of patterns
2016-02-20 06:00:13 +00:00
158c68fbc7
use object class for MetaClip
2016-02-20 05:58:53 +00:00
1cc795995d
user.get_profile()->user.profile
2016-02-19 22:06:11 +05:30
3e8f28ff47
update imports
2016-02-19 22:06:10 +05:30
5d63ad1760
default/upload_to=lambda breaks migrations, use functions
2016-02-19 21:59:26 +05:30
e22cc432b3
use transaction.atomic
2016-02-19 21:55:09 +05:30
e738503380
remove old migrations
2016-02-19 15:17:18 +00:00
35bdfba77c
fix default values
2016-02-19 19:01:38 +05:30
d241b90b63
check data is a dict
2016-02-19 18:46:53 +05:30
6b1ce30eb2
from __future__ import print_function
2016-02-18 16:19:26 +05:30
47d8d67c3d
Allow 'query' to be omitted from find*() ( fixes #2883 )
...
I hit this in findDocuments() so thought I'd fix them all.
2016-02-15 14:58:50 +00:00
b121b58a86
support caching local files, lookup by oshash
2016-02-14 00:32:14 +05:30
691b3fa934
Entity: only update annotations when name has changed ( fixes #2877 )
...
Just like ace0468
this doesn't exactly fix #2827 , but it does reduce the
unnecessary work.
2016-02-05 19:03:16 +05:30
6008f3b44e
findEntities: fix negated conditions, fixes #2876
2016-02-05 19:01:30 +05:30
cdaa50c4d3
addAnnotations: report which key is missing in error
2016-02-04 10:38:02 +00:00
729856eb30
Rename getTaskStatus -> taskStatus in API docs ( fixes #2859 )
2016-02-04 10:38:01 +00:00
c7515517da
remove persona support
2016-01-12 14:04:34 +05:30
face7da3da
avoid duplicate users for or queries, fixes #2871
2016-01-12 12:06:12 +05:30
f47febb09c
joined audio timelines
2015-12-09 18:29:18 +00:00
d23a6eb317
fix cuts for multipart videos
2015-12-01 20:11:08 +01:00
a919724821
typo
2015-11-29 14:13:44 +01:00
f6bfa26ae3
dont count empty annots
2015-11-26 09:21:52 +01:00
8f6f39caaf
dont include emtpy annotations in srt export
2015-11-20 18:19:55 +01:00
2b3853c7aa
remove debug
2015-11-18 14:45:31 +01:00
e216a7b307
make it easer to copy&paste default values
2015-11-18 14:28:40 +01:00
j
48e1435601
switch to git
2015-11-14 15:22:40 +01:00
j
b7cfcfa182
add some encoding options: crop, trim, aspect
2015-11-12 16:15:02 +00:00
j
310343c81c
improve output if config can not be parsed
2015-11-12 13:06:34 +01:00
j
9e88f29126
only loop over annotations without public_id once
2015-11-11 10:39:34 +01:00
j
9b1ed58ff2
only migrate AnnotationSequence if we have items
2015-11-11 09:48:16 +01:00
j
4bdce55364
fix joining audio only timelines
2015-11-02 09:34:41 +01:00
j
eb472b88ae
allow annotation import/export on 0x
2015-10-31 13:54:12 +01:00
j
54b7c4be9a
update dimensions replacing documents, add modified to image urls to get latest version
2015-10-26 16:10:12 +01:00
j
6f9fb06da3
Replace Document, still some cache issues, fixes #2855
2015-10-25 22:08:13 +01:00
j
21a6007f8c
only add video sitemap for films that can be played
2015-10-22 19:40:20 +02:00
j
90d8d46603
update sitemap video namespace
2015-10-22 00:11:44 +02:00
j
86599a4341
Indiancine.ma: new items should be Under Copyright by default not Private
2015-10-21 14:26:13 +02:00
j
f0e3c2775e
logg addMedia call
2015-10-20 12:17:04 +02:00
j
d16bbf6ba8
remove facet duplicates
2015-10-12 18:44:20 +01:00
j
c17f0a4376
add new file for r5049
2015-10-12 18:43:41 +01:00
j
aafac3c1d8
only store one item/key/value facet, remove facets with other case
2015-10-12 17:45:08 +02:00
rolux
69254bbe48
changeid can also be list of ids, use text
2015-10-12 15:25:24 +01:00
rolux
4ed2d940cf
migrate annotation sequence in item not annotation
2015-10-12 15:24:03 +01:00
j
2e3b61d163
dont fail if files are already gone
2015-10-04 18:17:34 +01:00
j
6f4c010be0
only return layers defined in config
2015-10-04 14:11:39 +01:00
j
be1589569e
fix clip index for newly added clips
2015-10-04 11:04:46 +01:00
j
5649892bbd
annotation layer flag is boolean
2015-10-04 11:20:45 +02:00
9265b8a53b
Clip.save: fetch annotations once, not ~ 2 * n_layers
...
With 17 layers and 12 clipLayers, this repeated fetching was around 49%
of the cost of this function, which was in turn 94% of the cost of
creating many new annotations with mostly-unique endpoints. This helps a
bit...
If the order of clipLayers is not meant to be significant to sortvalue
(which I assume it is) then this could be simpler.
2015-10-04 11:17:22 +02:00
j
a430c6bdf4
make facets case insensitive
2015-09-25 14:44:02 +01:00
j
1e81dc4fa1
switch
2015-09-24 18:35:13 +01:00
j
79dbeabafc
not again
2015-09-24 18:26:59 +01:00
j
eea9321b2e
not not not
2015-09-24 18:23:25 +01:00
j
96301d6a9c
not
2015-09-24 18:21:01 +01:00
j
f12dfdc4a3
import subtitles if no subtitles exist
2015-09-24 18:16:29 +01:00
j
65fb9ccb6d
reduce ffmpeg output
2015-09-16 15:04:44 +01:00
4f064fda76
Make Annotation.public_id non-NULLable ( fixes #2829 )
...
This fixes this race:
request 1 request 2
----------------------------- -------------------------
addAnnotation(...)
super(Annotation.self).save()
findAnnotations(...)
returns [{id: null, ...}]
annotation.public_id = x
returns {id: x}
2015-09-14 14:18:10 +02:00
eaa07b1ccb
ClipManager: match annotation layer case-sensitively ( fixes #2832 )
...
The case must be correct anyway for the layer to be found in
settings.CONFIG['layers']. Running this:
Q(annotation__layer__iexact='foo') &
Q(annotation__findvalue__icontains='bar')
compiles to
upper(layer) = upper('foo') and
...
which can't use the case-sensitive annotation_annotation_layer index.
This:
Q(annotation__layer__exact='foo') &
Q(annotation__findvalue__icontains='bar')
can. (It still can't use the findvalue_like index, though! The other
option is to add indices on upper(layer) and upper(findvalue)
[varchar_pattern_ops].)
2015-09-14 14:13:06 +02:00
da1ad5b9c1
ClipManager.filter_annotations: fix 'opterator' typo ( fixes #2832 )
2015-09-14 14:11:40 +02:00
8759b569da
Cache serialized entities when fetching many annotations
...
For a scene with ~5600 annotations, of which ~3100 are entities, this
cuts fetching the scene from 12 seconds to 2 seconds.
2015-09-14 14:08:02 +02:00
eebb0b5681
Combine {Item,Clip,edit.Clip}.get_layers()
...
This has several benefits:
• Clip.get_layers() (used by smart edits) and Item.get_layers() pick up
the select_related('user') optimization added for static edits in
r5007.
• Static edits and items pick up the optimization from r4941 to select
annotations once, not once per layer.
Fetching an item with ~1000 annotations took ~1s without this patch,
~0.34s with this patch. Another item with ~6000 annotations took ~11.6s
before, ~8.6s after.
Because this block is moved out to the top:
if user and user.is_anonymous():
user = None
then, for anonymous users,
"editable": false,
is no longer included in the annotations. The old behaviour ended up
including this key in all layers listed before the first private layer
in the config, and leaving it out from later ones. So this new behaviour
is more consistent.
2015-09-14 14:06:43 +02:00
j
2c406a76e0
create trusty container
2015-09-03 19:33:48 +02:00
j
fd2992c588
add option to sort by number of annotations per layer
2015-09-03 00:52:20 +02:00
ace04688f2
Entity.save(): update annotations async ( fixes #2827 , kinda)
2015-09-02 14:32:16 +02:00
j
41b50ccdb8
add canPlayClips flag to annotation layers and use those layers to limit playback to clips
2015-08-27 11:27:27 +02:00
j
83013bbe5e
Update items when entities are renamed ( fixes #2825 )
2015-08-26 19:42:03 +02:00
j
944fe1a9dd
only run migration if we have items
2015-08-07 17:32:17 +02:00
3da3bd37fd
addClips: return error if item/in/out missing, not 500
2015-08-07 13:37:56 +02:00
j
819181726a
slightly faster json serialization of annotations
2015-08-02 16:22:45 +02:00
f3fdded07d
Edit.json: preload annotation users
...
The expensive part of fetching an edit is JSONifying the clips'
annotations. Profiling showed that the main cost was Annotation.json(),
and within that:
File: /srv/pandora/pandora/annotation/models.py
Function: json at line 216
Line # Hits Time Per Hit % Time Line Contents
==============================================================
216 def json(self, layer=False, keys=None, user=None):
217 632 827 1.3 0.1 j = {
218 632 1048170 1658.5 89.6 'user': self.user.username,
219 }
Obviously this join just moves some of the cost further out, but it
brings my micro-benchmark down from 1.3s to 0.3s.
2015-08-02 16:02:47 +02:00
ab5a20d3a2
Treat findEdits({}) like findEdits({query: {}}) ( fixes #2820 )
2015-07-22 21:37:55 +02:00
d3c18a5859
editAnnotation: explicitly refuse to change layer, fixes #2818
2015-07-14 10:48:05 +02:00
1ef7101761
annotations: fix 'unkown' typo
2015-07-14 10:47:00 +02:00
j
5e6b054896
extend cookie age if its still used
2015-06-30 20:02:09 +02:00
j
9208e09dd2
sync config documentation
2015-06-26 07:27:56 +00:00
j
1a2f051bdd
fix documentation update
2015-06-26 07:27:13 +00:00
j
9758b7d312
fail if entity is unknown
2015-06-24 16:41:49 +02:00
j
ce701d38d0
space
2015-06-24 16:41:11 +02:00
j
adb831ce70
dont turn data into string, fixes #2797
2015-05-28 13:10:39 +02:00
j
5da83f6f6d
don't return empty string for undefined values, handle in context browser
2015-05-23 15:11:18 +05:30
j
0504eaf227
audio files should not have aspect ratio
2015-05-23 15:10:24 +05:30
j
9191a9c196
extension should be lowercase
2015-05-23 11:06:22 +02:00
j
27e9bc62fb
typo
2015-05-23 14:25:58 +05:30
j
23398c4307
get resolution from videos while uploading and dont return sort value
2015-05-23 14:22:44 +05:30
j
7359a24d78
keep video height if its < profile height
2015-05-22 19:01:05 +05:30
8b0459592c
logError: log HTTP_USER_AGENT
...
include user agent in error text
2015-05-20 12:38:49 +02:00
3ad9d4821b
Fix findEntities( ... name == x ... ), fixes #2769
2015-05-20 12:30:31 +02:00
fe7f961ff6
Entity: fix name_find when alternativeNames is non-empty
...
Previously, given:
name = "foo"
alternativeNames = ("bar", "baz")
then:
name_find = '||foobar||baz||'
2015-05-20 12:16:32 +02:00
b7a83554ab
Fix references to findDocument[s] in docstrings
2015-05-20 12:14:21 +02:00