Commit 2f2c6fc5 by lenacom

fixed comments

parent 23b61749
......@@ -20,7 +20,7 @@ def get_blocks(
block_counts=None,
student_view_data=None,
return_type='dict',
block_type_filter=None,
block_types_filter=None,
):
"""
Return a serialized representation of the course blocks.
......@@ -45,7 +45,7 @@ def get_blocks(
which blocks to return their student_view_data.
return_type (string): Possible values are 'dict' or 'list'. Indicates
the format for returning the blocks.
block_type_filter (list): Optional list of block type names used to filter
block_types_filter (list): Optional list of block type names used to filter
the final result of returned blocks.
"""
# create ordered list of transformers, adding BlocksAPITransformer at end.
......@@ -65,11 +65,11 @@ def get_blocks(
blocks = get_course_blocks(user, usage_key, transformers)
# filter blocks by types
if block_type_filter:
if block_types_filter:
block_keys_to_remove = []
for block_key in blocks:
block_type = blocks.get_xblock_field(block_key, 'category')
if block_type not in block_type_filter:
if block_type not in block_types_filter:
block_keys_to_remove.append(block_key)
for block_key in block_keys_to_remove:
blocks.remove_block(block_key, keep_descendants=True)
......
......@@ -31,7 +31,7 @@ class BlockListGetForm(Form):
student_view_data = MultiValueField(required=False)
usage_key = CharField(required=True)
username = CharField(required=False)
block_type_filter = MultiValueField(required=False)
block_types_filter = MultiValueField(required=False)
def clean_depth(self):
"""
......@@ -89,7 +89,7 @@ class BlockListGetForm(Form):
'student_view_data',
'block_counts',
'nav_depth',
'block_type_filter',
'block_types_filter',
]
for additional_field in additional_requested_fields:
field_value = cleaned_data.get(additional_field)
......
......@@ -12,8 +12,6 @@ from xmodule.modulestore.tests.factories import SampleCourseFactory
from ..api import get_blocks
import re
class TestGetBlocks(EnableTransformerRegistryMixin, SharedModuleStoreTestCase):
"""
......@@ -84,16 +82,17 @@ class TestGetBlocks(EnableTransformerRegistryMixin, SharedModuleStoreTestCase):
sequential_block = self.store.get_item(self.course.id.make_usage_key('sequential', 'sequential_y1'))
# not filtered blocks
blocks = get_blocks(self.request, sequential_block.location, self.user)
blocks = get_blocks(self.request, sequential_block.location, self.user, requested_fields=['type'])
self.assertEquals(len(blocks['blocks']), 5)
found_not_problem = False
for key in blocks['blocks']:
if not re.search(r'/problem/', key):
if blocks['blocks'][key]['type'] != 'problem':
found_not_problem = True
self.assertTrue(found_not_problem)
# filtered blocks
blocks = get_blocks(self.request, sequential_block.location, self.user, block_type_filter=['problem'])
blocks = get_blocks(self.request, sequential_block.location, self.user,
block_types_filter=['problem'], requested_fields=['type'])
self.assertEquals(len(blocks['blocks']), 3)
for key in blocks['blocks']:
self.assertTrue(re.search(r'/problem/', key))
self.assertEqual(blocks['blocks'][key]['type'], 'problem')
......@@ -60,7 +60,7 @@ class TestBlockListGetForm(EnableTransformerRegistryMixin, FormTestMixin, Shared
'usage_key': usage_key,
'username': self.student.username,
'user': self.student,
'block_type_filter': set(),
'block_types_filter': set(),
}
def assert_raises_permission_denied(self):
......
......@@ -33,7 +33,7 @@ class BlocksView(DeveloperErrorViewMixin, ListAPIView):
&requested_fields=graded,format,student_view_multi_device,lti_url
&block_counts=video
&student_view_data=video
&block_type_filter=problem,html
&block_types_filter=problem,html
**Parameters**:
......@@ -86,11 +86,11 @@ class BlocksView(DeveloperErrorViewMixin, ListAPIView):
Example: return_type=dict
* block_type_filter: (list) Requested types of blocks used to filter the final result
of returned blocks. Possible values include sequential,vertical, html, problem,
* block_types_filter: (list) Requested types of blocks used to filter the final result
of returned blocks. Possible values include sequential, vertical, html, problem,
video, and discussion.
Example: block_type_filter=vertical,html
Example: block_types_filter=vertical,html
**Response Values**
......@@ -186,7 +186,7 @@ class BlocksView(DeveloperErrorViewMixin, ListAPIView):
params.cleaned_data.get('block_counts', []),
params.cleaned_data.get('student_view_data', []),
params.cleaned_data['return_type'],
params.cleaned_data.get('block_type_filter', None),
params.cleaned_data.get('block_types_filter', None),
)
)
except ItemNotFoundError as exception:
......@@ -210,7 +210,7 @@ class BlocksInCourseView(BlocksView):
&requested_fields=graded,format,student_view_multi_device,lti_url
&block_counts=video
&student_view_data=video
&block_type_filter=problem,html
&block_types_filter=problem,html
**Parameters**:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment