Merge pull request #1325 from edx/dhm/paginate_assets
Add asset pagination
This commit is contained in:
@@ -168,7 +168,7 @@ class ContentStore(object):
|
||||
def find(self, filename):
|
||||
raise NotImplementedError
|
||||
|
||||
def get_all_content_for_course(self, location):
|
||||
def get_all_content_for_course(self, location, start=0, maxresults=-1, sort=None):
|
||||
'''
|
||||
Returns a list of all static assets for a course. The return format is a list of dictionary elements. Example:
|
||||
|
||||
|
||||
@@ -130,10 +130,12 @@ class MongoContentStore(ContentStore):
|
||||
def get_all_content_thumbnails_for_course(self, location):
|
||||
return self._get_all_content_for_course(location, get_thumbnails=True)
|
||||
|
||||
def get_all_content_for_course(self, location):
|
||||
return self._get_all_content_for_course(location, get_thumbnails=False)
|
||||
def get_all_content_for_course(self, location, start=0, maxresults=-1, sort=None):
|
||||
return self._get_all_content_for_course(
|
||||
location, start=start, maxresults=maxresults, get_thumbnails=False, sort=sort
|
||||
)
|
||||
|
||||
def _get_all_content_for_course(self, location, get_thumbnails=False):
|
||||
def _get_all_content_for_course(self, location, get_thumbnails=False, start=0, maxresults=-1, sort=None):
|
||||
'''
|
||||
Returns a list of all static assets for a course. The return format is a list of dictionary elements. Example:
|
||||
|
||||
@@ -156,7 +158,13 @@ class MongoContentStore(ContentStore):
|
||||
course_filter = Location(XASSET_LOCATION_TAG, category="asset" if not get_thumbnails else "thumbnail",
|
||||
course=location.course, org=location.org)
|
||||
# 'borrow' the function 'location_to_query' from the Mongo modulestore implementation
|
||||
items = self.fs_files.find(location_to_query(course_filter))
|
||||
if maxresults > 0:
|
||||
items = self.fs_files.find(
|
||||
location_to_query(course_filter),
|
||||
skip=start, limit=maxresults, sort=sort
|
||||
)
|
||||
else:
|
||||
items = self.fs_files.find(location_to_query(course_filter), sort=sort)
|
||||
return list(items)
|
||||
|
||||
def set_attr(self, location, attr, value=True):
|
||||
|
||||
Reference in New Issue
Block a user