Skip to content

Commit 03279db

Browse files
committed
exported olx format <prereqisite required_content_key=abc content_type=sequential .... />
1 parent 637f32b commit 03279db

File tree

1 file changed

+7
-30
lines changed

1 file changed

+7
-30
lines changed

xmodule/xml_block.py

Lines changed: 7 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -142,22 +142,10 @@ def _extract_prereq_url_name(self, prereq_usage_key):
142142
"""
143143
Extract the url_name from a prerequisite usage key.
144144
"""
145-
try:
146-
if isinstance(prereq_usage_key, str):
147-
prereq_usage_key = UsageKey.from_string(prereq_usage_key)
148-
149-
# Get the block_id which should be the url_name
145+
if isinstance(prereq_usage_key, str):
146+
prereq_usage_key = UsageKey.from_string(prereq_usage_key)
150147
return prereq_usage_key.block_id
151-
152-
except (ImportError, ValueError, AttributeError, TypeError) as e:
153-
log.warning("Could not extract url_name from prerequisite key %s: %s", prereq_usage_key, e)
154-
# Extract from string as fallback
155-
if isinstance(prereq_usage_key, str):
156-
# Assuming format like: block-v1:org+course+run+type@sequential+block@url_name
157-
if '@sequential+block@' in prereq_usage_key:
158-
parts = prereq_usage_key.split('@sequential+block@')
159-
if len(parts) > 1:
160-
return parts[1]
148+
else:
161149
return None
162150

163151
def _add_prerequisite_to_xml(self, xml_object):
@@ -178,23 +166,12 @@ def _add_prerequisite_to_xml(self, xml_object):
178166
prereq_id, min_score, min_completion = prereq_info
179167
prereq_url_name = self._extract_prereq_url_name(prereq_id)
180168
if not prereq_url_name:
181-
log.warning("Could not extract prerequisite url_name from %s", prereq_id)
182169
return
183170

184-
# Create prerequisite element
185171
prereq_element = etree.Element('prerequisite')
186-
required_seq_element = etree.Element('required_sequential')
187-
required_seq_element.set('url_name', prereq_url_name)
188-
prereq_element.append(required_seq_element)
189-
if min_score is not None and int(min_score) > 0:
190-
min_score_element = etree.Element('min_score')
191-
min_score_element.text = str(min_score)
192-
prereq_element.append(min_score_element)
193-
if min_completion is not None and int(min_completion) > 0:
194-
min_completion_element = etree.Element('min_completion')
195-
min_completion_element.text = str(min_completion)
196-
prereq_element.append(min_completion_element)
197-
# Insert at the beginning
172+
prereq_element.set('required_content', prereq_url_name)
173+
prereq_element.set('min_score_element', str(min_score))
174+
prereq_element.set('min_completion', str(min_completion))
198175
xml_object.insert(0, prereq_element)
199176

200177
@staticmethod
@@ -501,7 +478,7 @@ def add_xml_to_node(self, node):
501478
return
502479

503480
if self.category == 'sequential':
504-
self._add_prerequisite_to_xml(xml_object) # Uncomment this later
481+
self._add_prerequisite_to_xml(xml_object)
505482

506483
for aside in self.runtime.get_asides(self):
507484
if aside.needs_serialization():

0 commit comments

Comments
 (0)