Changed format of start date parsing to ISO 8601

This commit is contained in:
Bridger Maxwell
2012-07-16 11:27:13 -04:00
parent f9de962365
commit 264e324c50
2 changed files with 7 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
from datetime import datetime, date
import time
import dateutil.parser
from fs.errors import ResourceNotFoundError
import logging
@@ -19,16 +19,16 @@ class CourseDescriptor(SequenceDescriptor):
super(CourseDescriptor, self).__init__(system, definition, **kwargs)
try:
self.start = dateutil.parser.parse(self.metadata["start"])
self.start = time.strptime(self.metadata["start"], "%Y-%m-%dT%H:%M")
except KeyError:
self.start = date.fromtimestamp(0) #The epoch
self.start = time.gmtime(0) #The epoch
log.critical("Course loaded without a start date. " + str(self.id))
except ValueError, e:
self.start = date.fromtimestamp(0) #The epoch
self.start = time.gmtime(0) #The epoch
log.critical("Course loaded with a bad start date. " + str(self.id) + " '" + str(e) + "'")
def has_started(self):
return datetime.now() > self.start
return time.gmtime() > self.start
@classmethod
def id_to_location(cls, course_id):
@@ -86,7 +86,6 @@ class CourseDescriptor(SequenceDescriptor):
elif section_key == "title":
return self.metadata.get('display_name', self.name)
elif section_key == "university":
return self.metadata.get('start')
return self.location.org
elif section_key == "number":
return self.number

View File

@@ -30,9 +30,9 @@ def check_course(course_must_be_open=True, course_required=True):
course = modulestore().get_item(course_loc)
except KeyError:
raise Http404("Course not found.")
if course_must_be_open and not course.has_started():
raise Http404
raise Http404("This course has not yet started.")
del kwargs['course_id']
kwargs['course'] = course