From e8cd1257018b86fa35233ec34f8b3af619775f41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Andr=C3=A9s=20Rocha?= Date: Fri, 12 Oct 2012 17:36:19 -0400 Subject: [PATCH 1/2] Fix to read utf-8 enconded html files for custom course tabs --- lms/djangoapps/courseware/tabs.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/tabs.py b/lms/djangoapps/courseware/tabs.py index e97622a5ef..07cc2264c4 100644 --- a/lms/djangoapps/courseware/tabs.py +++ b/lms/djangoapps/courseware/tabs.py @@ -11,10 +11,13 @@ actually generates the CourseTab. from collections import namedtuple import logging +import codecs from django.conf import settings from django.core.urlresolvers import reverse +from fs.errors import ResourceNotFoundError + from courseware.access import has_access from static_replace import replace_urls @@ -266,7 +269,8 @@ def get_static_tab_contents(course, tab): try: with fs.open(p) as tabfile: # TODO: redundant with module_render.py. Want to be helper methods in static_replace or something. - contents = replace_urls(tabfile.read(), course.metadata['data_dir']) + text = tabfile.read().decode('utf-8') + contents = replace_urls(text, course.metadata['data_dir']) return replace_urls(contents, staticfiles_prefix='/courses/'+course.id, replace_prefix='/course/') except (ResourceNotFoundError) as err: log.exception("Couldn't load tab contents from '{0}': {1}".format(p, err)) From f1120a11398f20459a7273a010fb0a03a34857f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Andr=C3=A9s=20Rocha?= Date: Fri, 12 Oct 2012 17:39:05 -0400 Subject: [PATCH 2/2] Removed unused import --- lms/djangoapps/courseware/tabs.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lms/djangoapps/courseware/tabs.py b/lms/djangoapps/courseware/tabs.py index 07cc2264c4..adb1ab3c0f 100644 --- a/lms/djangoapps/courseware/tabs.py +++ b/lms/djangoapps/courseware/tabs.py @@ -11,7 +11,6 @@ actually generates the CourseTab. from collections import namedtuple import logging -import codecs from django.conf import settings from django.core.urlresolvers import reverse