def fetch_and_parse(subj, semester): f, p = FetchMachine(), ParseMachine() sec_html = f.sections_html(semester, subjects=(subj,)) dicts = p.sections(sec_html) time_handler = lambda obj: obj.isoformat() if isinstance(obj, (datetime.time, datetime.date)) else None return json.dumps(dicts, default=time_handler)
class TestMachines(TestCase): def setUp(self): self.semesters = owlxp.update_semesters() self.fetch = FetchMachine() self.parse = ParseMachine() def test_subjects_in_semester(self): print self.fetch.subjects_in_semester(self.semesters[0]) def test_single_subjects_html(self): sem = self.semesters[0] for subj in self.fetch.subjects_in_semester(sem): sec_html = self.fetch.sections_html(sem, subjects=(subj,)) sec_dicts = self.parse.sections(sec_html)
def test_fetchmachine_catalog_entry_xml(self): fm = FetchMachine() fm.catalog_entry_xml(self.semesters[0], "ENGL", "1101")
def test_fetchmachine_catalog_xml(self): fm = FetchMachine() fm.catalog_xml(self.semesters[0])
def setUp(self): self.semesters = owlxp.update_semesters() self.fetch = FetchMachine() self.parse = ParseMachine()