diff options
author | Joar Wandborg <git@wandborg.com> | 2012-09-15 22:34:34 +0200 |
---|---|---|
committer | Joar Wandborg <git@wandborg.com> | 2012-09-15 22:34:34 +0200 |
commit | c92aa0d0b21e01223db7eeaa2fcea4d961b512d9 (patch) | |
tree | 327e4c0bdc699b4ffab398ea53c388605c051f9a /mediagoblin/plugins/api | |
parent | 965b39a84fc240a24ae1bd7215bb06361b6df98f (diff) | |
download | mediagoblin-c92aa0d0b21e01223db7eeaa2fcea4d961b512d9.tar.lz mediagoblin-c92aa0d0b21e01223db7eeaa2fcea4d961b512d9.tar.xz mediagoblin-c92aa0d0b21e01223db7eeaa2fcea4d961b512d9.zip |
API: Fixed media file URLs, limits
- Added default limit and limit arg to get_entries
- Fixed URL generation for BasicFileStorage files in API
Diffstat (limited to 'mediagoblin/plugins/api')
-rw-r--r-- | mediagoblin/plugins/api/tools.py | 12 | ||||
-rw-r--r-- | mediagoblin/plugins/api/views.py | 7 |
2 files changed, 15 insertions, 4 deletions
diff --git a/mediagoblin/plugins/api/tools.py b/mediagoblin/plugins/api/tools.py index 5488e515..e5aca29b 100644 --- a/mediagoblin/plugins/api/tools.py +++ b/mediagoblin/plugins/api/tools.py @@ -19,6 +19,7 @@ import json from functools import wraps from webob import exc, Response +from urlparse import urljoin from mediagoblin import mg_globals from mediagoblin.tools.pluginapi import PluginManager @@ -106,13 +107,16 @@ def get_media_file_paths(media_files, urlgen): filepath` pairs. :param urlgen: An urlgen object, usually found on request.urlgen. ''' - if isinstance(mg_globals.public_store, BasicFileStorage): - pass # TODO - media_urls = {} for key, val in media_files.items(): - media_urls[key] = mg_globals.public_store.file_url(val) + if isinstance(mg_globals.public_store, BasicFileStorage): + # BasicFileStorage does not provide a qualified URI + media_urls[key] = urljoin( + urlgen('index', qualified=True), + mg_globals.public_store.file_url(val)) + else: + media_urls[key] = mg_globals.public_store.file_url(val) return media_urls diff --git a/mediagoblin/plugins/api/views.py b/mediagoblin/plugins/api/views.py index ff177e29..2eb9e414 100644 --- a/mediagoblin/plugins/api/views.py +++ b/mediagoblin/plugins/api/views.py @@ -129,8 +129,15 @@ def api_test(request): def get_entries(request): entries = request.db.MediaEntry.query + # TODO: Make it possible to fetch unprocessed media, or media in-processing entries = entries.filter_by(state=u'processed') + # TODO: Add sort order customization + entries = entries.order_by(request.db.MediaEntry.created.desc()) + + # TODO: Fetch default and upper limit from config + entries = entries.limit(int(request.GET.get('limit') or 10)) + entries_serializable = [] for entry in entries: |