Commit graph

5692 commits

Author SHA1 Message Date
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
4c0652e683 errorlogsDialog: fix searching text (fixes #2819) 2015-07-22 21:37:04 +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
d3c3378267 add default video ratio for audio files 2015-06-29 09:10:12 +01: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
e55e503654 Pass entity type to autocompleteEntities, not layer id (fixes #2810)
If (for example) you have a type of entities, "participants", and a
second annotation layer for them, like this:

    {
        "id": "participantsdiscussed",
        "title": "Participants discussed",
        "type": "entity",
        "entity": "participants"
    }

then we should be passing key="participants" to autocompleteEntities
(since that is the type of entity), not key="participantsdiscussed"
(which is not a type of entities and raises an error).
2015-06-24 16:42:38 +02: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
5cc23093ef keys might be undefined 2015-05-25 12:51:11 +00:00
j
e063cc7020 use empty string if value is undefined or null, fixes #2790 2015-05-23 18:02:24 +02:00
j
4705e33ef1 only enable menu entries if user has permission to edit/upload 2015-05-23 13:10:25 +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
j
509fa6fd0c use sys.argv[0] 2015-05-22 12:00:35 +02:00
j
d4a7ec0e0c now that we have js tracebacks, also open dialog for js errors, fixes #2756 2015-05-20 11:47:04 +01:00
0e4c49729b window.onerror: log stack to server if available
Firefox >= 31 and Chrome >= ~August 2013 pass the Error object as the
5th parameter to window.onerror.

https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror
https://code.google.com/p/chromium/issues/detail?id=147127
2015-05-20 12:44:31 +02:00
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
j
4deb4daad3 typo in length check, fix cancel button before stating upload 2015-05-19 23:10:30 +02:00
j
f11772b8db fix annotations without public_id after initializing sequence 2015-05-20 01:04:42 +05:30
j
ef56f4aec4 track annotation id in table to avoid IntegrityErrors while adding multiple annotations to one item, fixes #2780 2015-05-20 00:43:33 +05:30
j
34f2cfe290 avoid updating item if another annotation was added or edited since dispatching the update_item event 2015-05-20 00:20:50 +05:30
j
380185efd4 more places where year might not exist, fixes #2778 2015-05-19 17:47:20 +05:30
j
09c3c4b959 also fallback to date in context browser, fixes #2777 2015-05-19 14:47:47 +05:30
j
47a3a24a7d ignore messages that can not be serialized 2015-05-19 02:39:26 +05:30
j
af86445b2e use username not user 2015-05-18 23:01:19 +02:00
j
1da7135e38 use ui.videoSubtitles for enableSubtitles 2015-05-18 11:51:11 +02:00
j
dd234d9c65 only enabale subtitles is enabled in ui settings 2015-05-18 11:43:30 +02:00
j
9cc4225b86 tune nginx settings 2015-05-18 11:43:14 +02:00
j
8439d56339 use Ox.sort 2015-05-15 13:45:04 +02:00
j
0a03240033 vm build cleanup 2015-05-15 13:42:32 +02:00
j
6dd9522cc5 never include empty layers 2015-05-13 21:59:17 +02:00
j
562a506d68 include user in change event 2015-05-08 08:39:31 +02:00
f9ba4d1bf1 findChangeLog: don't crash if sort is unspecified
This would crash:

    api.findChangeLogs(keys=[])

because there's no 'name' key for changelog entries. Instead, default to
chronological order, newest first.
2015-05-06 19:00:44 +02:00
j
ff3864b347 nicer logging 2015-05-06 19:00:02 +02:00
j
be41fe9dbe formating 2015-05-05 13:34:34 +02:00
j
cf10d98d50 check if alternative title has countries 2015-05-04 10:55:47 +02:00
j
80fd7c027e create user if it does not exist 2015-05-04 10:55:13 +02:00
j
956464b128 support using a username other than pandora 2015-05-02 12:09:53 +02:00