@@ -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