1111LOGGER = logging .getLogger (__name__ )
1212
1313
14- def update_skills_data (course_key , confidence , skill_data ):
14+ def update_skills_data (course_key , skill_external_id , confidence , skill_data ):
1515 """
1616 Persist the skills data in the database.
1717 """
18- skill , __ = Skill .objects .update_or_create (** skill_data )
18+ skill , __ = Skill .objects .update_or_create (external_id = skill_external_id , defaults = skill_data )
1919
2020 if not is_course_skill_blacklisted (course_key , skill .id ):
2121 CourseSkills .objects .update_or_create (
@@ -42,15 +42,16 @@ def process_skills_data(course, course_skills, should_commit_to_db):
4242 try :
4343 confidence = float (record ['confidence' ])
4444 skill = record ['skill' ]
45+ skill_external_id = skill ['id' ]
4546 skill_data = {
46- 'external_id' : skill ['id' ],
4747 'name' : skill ['name' ],
4848 'info_url' : skill ['infoUrl' ],
4949 'type_id' : skill ['type' ]['id' ],
5050 'type_name' : skill ['type' ]['name' ],
51+ 'description' : skill ['description' ]
5152 }
5253 if should_commit_to_db :
53- update_skills_data (course ['key' ], confidence , skill_data )
54+ update_skills_data (course ['key' ], skill_external_id , confidence , skill_data )
5455 except KeyError :
5556 LOGGER .error ('[TAXONOMY] Missing keys in skills data for course_key: %s' , course ['key' ])
5657 failures .add ((course ['uuid' ], course ['key' ]))
0 commit comments