nodes: 0, module; 1, function_definition; 2, function_name:get_staff; 3, parameters; 4, block; 5, identifier:self; 6, identifier:gradebook_id; 7, default_parameter; 8, expression_statement; 9, expression_statement; 10, if_statement; 11, return_statement; 12, identifier:simple; 13, False; 14, comment:"""Get staff list for gradebook.
  
          Get staff list for the gradebook specified. Optionally, return
          a less detailed list by specifying ``simple = True``.
  
          If simple=True, return a list of dictionaries, one dictionary
          for each member. The dictionary contains a member's ``email``,
          ``displayName``, and ``role``. Members with multiple roles will
          appear in the list once for each role.
  
          Args:
              gradebook_id (str): unique identifier for gradebook, i.e. ``2314``
              simple (bool): Return a staff list with less detail. Default
                  is ``False``.
  
          Returns:
  
              An example return value is:
  
              .. code-block:: python
  
                  {
                      u'data': {
                          u'COURSE_ADMIN': [
                              {
                                  u'accountEmail': u'benfranklin@mit.edu',
                                  u'displayName': u'Benjamin Franklin',
                                  u'editable': False,
                                  u'email': u'benfranklin@mit.edu',
                                  u'givenName': u'Benjamin',
                                  u'middleName': None,
                                  u'mitId': u'921344431',
                                  u'nickName': u'Benjamin',
                                  u'personId': 10710616,
                                  u'sortableName': u'Franklin, Benjamin',
                                  u'surname': u'Franklin',
                                  u'year': None
                              },
                          ],
                          u'COURSE_PROF': [
                              {
                                  u'accountEmail': u'dduck@mit.edu',
                                  u'displayName': u'Donald Duck',
                                  u'editable': False,
                                  u'email': u'dduck@mit.edu',
                                  u'givenName': u'Donald',
                                  u'middleName': None,
                                  u'mitId': u'916144889',
                                  u'nickName': u'Donald',
                                  u'personId': 8117160,
                                  u'sortableName': u'Duck, Donald',
                                  u'surname': u'Duck',
                                  u'year': None
                              },
                          ],
                          u'COURSE_TA': [
                              {
                                  u'accountEmail': u'hduck@mit.edu',
                                  u'displayName': u'Huey Duck',
                                  u'editable': False,
                                  u'email': u'hduck@mit.edu',
                                  u'givenName': u'Huey',
                                  u'middleName': None,
                                  u'mitId': u'920445024',
                                  u'nickName': u'Huey',
                                  u'personId': 1299059,
                                  u'sortableName': u'Duck, Huey',
                                  u'surname': u'Duck',
                                  u'year': None
                              },
                          ]
                      },
                  }
  
  
          """; 15, assignment; 16, identifier:simple; 17, block; 18, subscript; 19, identifier:staff_data; 20, call; 21, expression_statement; 22, expression_statement; 23, for_statement; 24, return_statement; 25, identifier:staff_data; 26, string; 27, attribute; 28, argument_list; 29, assignment; 30, assignment; 31, identifier:member; 32, call; 33, block; 34, identifier:simple_list; 35, string_content:data; 36, identifier:self; 37, identifier:get; 38, call; 39, keyword_argument; 40, identifier:simple_list; 41, list; 42, identifier:unraveled_list; 43, call; 44, attribute; 45, argument_list; 46, expression_statement; 47, attribute; 48, argument_list; 49, identifier:params; 50, None; 51, attribute; 52, argument_list; 53, identifier:unraveled_list; 54, identifier:__iter__; 55, call; 56, string; 57, identifier:format; 58, keyword_argument; 59, identifier:self; 60, identifier:unravel_staff; 61, identifier:staff_data; 62, attribute; 63, argument_list; 64, string_content:staff/{gradebookId}; 65, identifier:gradebookId; 66, boolean_operator; 67, identifier:simple_list; 68, identifier:append; 69, dictionary; 70, identifier:gradebook_id; 71, attribute; 72, pair; 73, pair; 74, pair; 75, identifier:self; 76, identifier:gradebook_id; 77, string; 78, subscript; 79, string; 80, subscript; 81, string; 82, subscript; 83, string_content:accountEmail; 84, identifier:member; 85, string; 86, string_content:displayName; 87, identifier:member; 88, string; 89, string_content:role; 90, identifier:member; 91, string; 92, string_content:accountEmail; 93, string_content:displayName; 94, string_content:role
code: def get_staff(self, gradebook_id, simple=False):
          """Get staff list for gradebook.
  
          Get staff list for the gradebook specified. Optionally, return
          a less detailed list by specifying ``simple = True``.
  
          If simple=True, return a list of dictionaries, one dictionary
          for each member. The dictionary contains a member's ``email``,
          ``displayName``, and ``role``. Members with multiple roles will
          appear in the list once for each role.
  
          Args:
              gradebook_id (str): unique identifier for gradebook, i.e. ``2314``
              simple (bool): Return a staff list with less detail. Default
                  is ``False``.
  
          Returns:
  
              An example return value is:
  
              .. code-block:: python
  
                  {
                      u'data': {
                          u'COURSE_ADMIN': [
                              {
                                  u'accountEmail': u'benfranklin@mit.edu',
                                  u'displayName': u'Benjamin Franklin',
                                  u'editable': False,
                                  u'email': u'benfranklin@mit.edu',
                                  u'givenName': u'Benjamin',
                                  u'middleName': None,
                                  u'mitId': u'921344431',
                                  u'nickName': u'Benjamin',
                                  u'personId': 10710616,
                                  u'sortableName': u'Franklin, Benjamin',
                                  u'surname': u'Franklin',
                                  u'year': None
                              },
                          ],
                          u'COURSE_PROF': [
                              {
                                  u'accountEmail': u'dduck@mit.edu',
                                  u'displayName': u'Donald Duck',
                                  u'editable': False,
                                  u'email': u'dduck@mit.edu',
                                  u'givenName': u'Donald',
                                  u'middleName': None,
                                  u'mitId': u'916144889',
                                  u'nickName': u'Donald',
                                  u'personId': 8117160,
                                  u'sortableName': u'Duck, Donald',
                                  u'surname': u'Duck',
                                  u'year': None
                              },
                          ],
                          u'COURSE_TA': [
                              {
                                  u'accountEmail': u'hduck@mit.edu',
                                  u'displayName': u'Huey Duck',
                                  u'editable': False,
                                  u'email': u'hduck@mit.edu',
                                  u'givenName': u'Huey',
                                  u'middleName': None,
                                  u'mitId': u'920445024',
                                  u'nickName': u'Huey',
                                  u'personId': 1299059,
                                  u'sortableName': u'Duck, Huey',
                                  u'surname': u'Duck',
                                  u'year': None
                              },
                          ]
                      },
                  }
  
  
          """
          staff_data = self.get(
              'staff/{gradebookId}'.format(
                  gradebookId=gradebook_id or self.gradebook_id
              ),
              params=None,
          )
          if simple:
              simple_list = []
              unraveled_list = self.unravel_staff(staff_data)
              for member in unraveled_list.__iter__():
                  simple_list.append({
                      'accountEmail': member['accountEmail'],
                      'displayName': member['displayName'],
                      'role': member['role'],
                  })
              return simple_list
          return staff_data['data']