code: def get_students(
              self,
              gradebook_id='',
              simple=False,
              section_name='',
              include_photo=False,
              include_grade_info=False,
              include_grade_history=False,
              include_makeup_grades=False
      ):
          params = dict(
              includePhoto=json.dumps(include_photo),
              includeGradeInfo=json.dumps(include_grade_info),
              includeGradeHistory=json.dumps(include_grade_history),
              includeMakeupGrades=json.dumps(include_makeup_grades),
          )
          url = 'students/{gradebookId}'
          if section_name:
              group_id, _ = self.get_section_by_name(section_name)
              if group_id is None:
                  failure_message = (
                      'in get_students -- Error: '
                      'No such section %s' % section_name
                  )
                  log.critical(failure_message)
                  raise PyLmodNoSuchSection(failure_message)
              url += '/section/{0}'.format(group_id)
          student_data = self.get(
              url.format(
                  gradebookId=gradebook_id or self.gradebook_id
              ),
              params=params,
          )
          if simple:
              student_map = dict(
                  accountEmail='email',
                  displayName='name',
                  section='section'
              )
              def remap(students):
                  newx = dict((student_map[k], students[k]) for k in student_map)
                  newx['email'] = newx['email'].replace('@mit.edu', '@MIT.EDU')
                  return newx
              return [remap(x) for x in student_data['data']]
          return student_data['data']