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 functools import wraps
|
||||||
from webob import exc, Response
|
from webob import exc, Response
|
||||||
|
from urlparse import urljoin
|
||||||
|
|
||||||
from mediagoblin import mg_globals
|
from mediagoblin import mg_globals
|
||||||
from mediagoblin.tools.pluginapi import PluginManager
|
from mediagoblin.tools.pluginapi import PluginManager
|
||||||
@ -106,13 +107,16 @@ def get_media_file_paths(media_files, urlgen):
|
|||||||
filepath` pairs.
|
filepath` pairs.
|
||||||
:param urlgen: An urlgen object, usually found on request.urlgen.
|
:param urlgen: An urlgen object, usually found on request.urlgen.
|
||||||
'''
|
'''
|
||||||
if isinstance(mg_globals.public_store, BasicFileStorage):
|
|
||||||
pass # TODO
|
|
||||||
|
|
||||||
media_urls = {}
|
media_urls = {}
|
||||||
|
|
||||||
for key, val in media_files.items():
|
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
|
return media_urls
|
||||||
|
|
||||||
|
@ -129,8 +129,15 @@ def api_test(request):
|
|||||||
def get_entries(request):
|
def get_entries(request):
|
||||||
entries = request.db.MediaEntry.query
|
entries = request.db.MediaEntry.query
|
||||||
|
|
||||||
|
# TODO: Make it possible to fetch unprocessed media, or media in-processing
|
||||||
entries = entries.filter_by(state=u'processed')
|
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 = []
|
entries_serializable = []
|
||||||
|
|
||||||
for entry in entries:
|
for entry in entries:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user