From 8373ee4bf6e380cd3eb0c98fa686efc3abba357e Mon Sep 17 00:00:00 2001 From: David Ormsbee Date: Wed, 19 Dec 2012 04:01:37 -0500 Subject: [PATCH] Basic support for freeform advertised_start dates like 'Spring' --- common/lib/xmodule/xmodule/course_module.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/common/lib/xmodule/xmodule/course_module.py b/common/lib/xmodule/xmodule/course_module.py index 3506c72bd7..03512b6f8f 100644 --- a/common/lib/xmodule/xmodule/course_module.py +++ b/common/lib/xmodule/xmodule/course_module.py @@ -251,7 +251,20 @@ class CourseDescriptor(SequenceDescriptor): @property def start_date_text(self): - displayed_start = self._try_parse_time('advertised_start') or self.start + parsed_advertised_start = self._try_parse_time('advertised_start') + + # If the advertised start isn't a real date string, we assume it's free + # form text... + if parsed_advertised_start is None and \ + ('advertised_start' in self.metadata): + return self.metadata['advertised_start'] + + displayed_start = parsed_advertised_start or self.start + + # If we have neither an advertised start or a real start, just return TBD + if not displayed_start: + return "TBD" + return time.strftime("%b %d, %Y", displayed_start) @property