API: Fixed media file URLs, limits
- Added default limit and limit arg to get_entries - Fixed URL generation for BasicFileStorage files in API
This commit is contained in:
parent
965b39a84f
commit
c92aa0d0b2
@ -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
|
||||
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user