From 61c2b96a4a885722b3528198fc75337dfc403918 Mon Sep 17 00:00:00 2001 From: Brian Wilson Date: Wed, 8 Oct 2014 11:43:07 -0400 Subject: [PATCH] Only permit ascii characters in filenames generated from course_ids. --- .../courseware/management/commands/export_course.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/courseware/management/commands/export_course.py b/lms/djangoapps/courseware/management/commands/export_course.py index 87820f9ad0..b5387db378 100644 --- a/lms/djangoapps/courseware/management/commands/export_course.py +++ b/lms/djangoapps/courseware/management/commands/export_course.py @@ -83,10 +83,11 @@ def export_course_to_directory(course_key, root_dir): raise CommandError("Invalid course_id") # The safest characters are A-Z, a-z, 0-9, , and . - # We represent the first four with \w, but generalize to all unicode alphanumerics. + # We represent the first four with \w. + # TODO: Once we support courses with unicode characters, we will need to revisit this. replacement_char = u'-' course_dir = replacement_char.join([course.id.org, course.id.course, course.id.run]) - course_dir = re.sub(r'[^\w\.\-]', replacement_char, course_dir, flags=re.UNICODE) + course_dir = re.sub(r'[^\w\.\-]', replacement_char, course_dir) export_to_xml(store, None, course.id, root_dir, course_dir)