def parseScoresForm(self, assessmentId): url = self.assessmentUrl % assessmentId cprint("Downloading Gradesource page %s" % url, 'yellow') html = requests.get(url, cookies = self.cookies).content cprint("Parsing the form page HTML", 'yellow') soup = BeautifulSoup(html) nameToStudentId = {} postData = {} for x in soup.form('input', id = re.compile("^student")): name = x.parent.parent.contents[1].string.replace(" ", "") td = x.parent.contents[1] postData[td['name']] = td['value'] nameToStudentId[name] = x['id'] postData.update({ 'assessmentId' : assessmentId, 'studentCount' : len(nameToStudentId), }) return nameToStudentId, postData