File tree Expand file tree Collapse file tree 2 files changed +12
-3
lines changed
tests/testcontent/samples/ims_xml Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Original file line number Diff line number Diff line change 44from le_utils .constants .labels import learning_activities
55from le_utils .constants .labels import needs
66from le_utils .constants .labels import resource_type
7+ from le_utils .constants .languages import getlang
78
89
910imscp_metadata_keys = {
@@ -155,9 +156,16 @@ def infer_beginner_level_from_difficulty(metadata_dict):
155156def update_node_from_metadata (node , metadata_dict ):
156157 # Update the node with the general metadata
157158 node .description = metadata_dict .get ("description" ) or node .description
158- if metadata_dict .get ("language" ):
159- node .set_language (metadata_dict .get ("language" ))
160- node .tags = node .tags + metadata_dict .get ("keyword" , [])
159+ lang_code = metadata_dict .get ("language" , "" )
160+ lang_code = (
161+ lang_code .split ("-" )[0 ].lower () if getlang (lang_code ) is None else lang_code
162+ )
163+ if getlang (lang_code ):
164+ node .set_language (lang_code )
165+ keyword = metadata_dict .get ("keyword" , [])
166+ if keyword and isinstance (keyword , str ):
167+ keyword = [keyword ]
168+ node .tags = node .tags + keyword
161169
162170 # Update the node with the educational metadata
163171 node .learning_activities = (
Original file line number Diff line number Diff line change @@ -45,6 +45,7 @@ example of proper metadata element usage.
4545 <description >
4646 <string language =" en-US" >Explore the fascinating world of hummingbirds, their unique characteristics and behaviors.</string >
4747 </description >
48+ <language >en-US</language >
4849 </general >
4950 </lom >
5051 </metadata >
You can’t perform that action at this time.
0 commit comments