aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/plugins/api/tools.py
diff options
context:
space:
mode:
authorJoar Wandborg <git@wandborg.com>2012-09-15 22:34:34 +0200
committerJoar Wandborg <git@wandborg.com>2012-09-15 22:34:34 +0200
commitc92aa0d0b21e01223db7eeaa2fcea4d961b512d9 (patch)
tree327e4c0bdc699b4ffab398ea53c388605c051f9a /mediagoblin/plugins/api/tools.py
parent965b39a84fc240a24ae1bd7215bb06361b6df98f (diff)
downloadmediagoblin-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/tools.py')
-rw-r--r--mediagoblin/plugins/api/tools.py12
1 files changed, 8 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