def get(self): # Check for enrollment status student = self.getStudent() if student: # Get unit data and set template values units = memcache.get('units') if units is None: units = Unit.all().order('id') memcache.add('units', units) self.templateValue['units'] = units # Set template values for nav bar navbar = {'course': True} self.templateValue['navbar'] = navbar # Set template values for user user = users.get_current_user() if user: self.templateValue['email'] = user.email() self.templateValue['logoutUrl'] = users.create_logout_url("/") # Render course page self.render('course.html') else: self.redirect('/register')
def get(self): # Check for enrollment status student = self.getStudent() if student: # Extract incoming args c = self.request.get("unit") if not c: unit_id = 1 else: unit_id = int(c) self.templateValue['unit_id'] = unit_id l = self.request.get('lesson') if not l: lesson_id = 1 else: lesson_id = int(l) self.templateValue['lesson_id'] = lesson_id # Set template values for a unit and its lesson entities units = memcache.get('units') if units is None: units = Unit.all().order('id') memcache.add('units', units) for unit in units: if unit.unit_id == unit_id: self.templateValue['units'] = unit lessons = memcache.get('lessons' + str(unit_id)) if lessons is None: lessons = Lesson.all().filter('unit_id =', unit_id).order('id') memcache.add('lessons' + str(unit_id), lessons) self.templateValue['lessons'] = lessons # Set template values for nav-x bar navbar = {'course':True} self.templateValue['navbar'] = navbar # Set template values for back and next nav buttons self.templateValue['back_button_url'] = '/unit?unit=' + str(unit_id) + '&lesson=' + str(lesson_id) if lesson_id == lessons.count(): self.templateValue['next_button_url'] = '' else: self.templateValue['next_button_url'] = '/unit?unit=' + str(unit_id) + '&lesson=' + str(lesson_id + 1) # Set template values for user user = users.get_current_user() if user: self.templateValue['email'] = user.email() self.templateValue['logoutUrl'] = users.create_logout_url("/") # Render activity page self.render('activity.html') else: self.redirect('/register')
def initDatastore(self): """Loads course data from the CSV files.""" logging.info('') logging.info('Initializing datastore') # load and parse data from CSV file unit_file = os.path.join(os.path.dirname(__file__), "../../data/unit.csv") lesson_file = os.path.join(os.path.dirname(__file__), "../../data/lesson.csv") units = verify.ReadObjectsFromCsvFile(unit_file, verify.UNITS_HEADER, Unit) lessons = verify.ReadObjectsFromCsvFile(lesson_file, verify.LESSONS_HEADER, Lesson) # store all units and lessons for unit in units: unit.put() for lesson in lessons: lesson.put() assert Unit.all().count() == 11 assert Lesson.all().count() == 29