aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/plugins/api
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/plugins/api')
-rw-r--r--mediagoblin/plugins/api/tools.py12
-rw-r--r--mediagoblin/plugins/api/views.py7
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: