Ejemplo n.º 1
0
def prune_meeting(s, m, num):
    meeting_instructors = m.get('Instructors')
    instructors = []
    if meeting_instructors is not None:

        for i in meeting_instructors:
            person = i.get('Person')
            if person is not None:
                data = {}
                data['name'] = person.get('Name')
                data['regid'] = person.get('RegID')
                instructors.append(data)

        if len(meeting_instructors) > 5:
            print "Found multiple meeting_instructors for course:"
            print student.pretty(s)
            print student.pretty(m)

    set_meeting(s,
                num,
                bldg=m['Building'],
                room=m['RoomNumber'],
                days='[     ]' if 'DaysOfWeek' not in m else '[' +
                m['DaysOfWeek']['Text'] + ']',
                start=m['StartTime'],
                end=m['EndTime'],
                meetingtype=m['MeetingType'],
                tba=m['DaysOfWeekToBeArranged'],
                instructors=instructors)
Ejemplo n.º 2
0
def prune_meeting(s, m, num):
    meeting_instructors = m.get('Instructors')
    instructors = []
    if meeting_instructors is not None:
        
        for i in meeting_instructors:
            person = i.get('Person')
            if person is not None:
                data = {}
                data['name'] = person.get('Name')
                data['regid'] = person.get('RegID')
                instructors.append(data)

        if len(meeting_instructors) > 5:
            print "Found multiple meeting_instructors for course:"
            print student.pretty(s)
            print student.pretty(m)

    set_meeting(s,num,
        bldg = m['Building'],
        room = m['RoomNumber'], 
        days = '[     ]' if 'DaysOfWeek' not in m else '[' + m['DaysOfWeek']['Text'] + ']',
        start = m['StartTime'],
        end = m['EndTime'],
        meetingtype = m['MeetingType'],
        tba = m['DaysOfWeekToBeArranged'],
        instructors = instructors
        );
Ejemplo n.º 3
0
def writeCSV(filename, rows):
    with open(filename, "wt") as data_file:
        csvwriter = csv.DictWriter(data_file, delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL, fieldnames=fieldnames)
        csvwriter.writerow(dict((fn,fn) for fn in fieldnames))
        for key,item in rows:
            try:
                csvwriter.writerow(item)
            except UnicodeEncodeError, e:
                print student.pretty(item)
                continue
            except Exception, e:
                continue
Ejemplo n.º 4
0
def writeCSV(filename, rows):
    with open(filename, "wt") as data_file:
        #print student.pretty(rows[0].keys())
        fieldnames = sorted(rows[0].keys())
        csvwriter = csv.DictWriter(data_file, delimiter=",", fieldnames=fieldnames)
        csvwriter.writerow(dict((fn,fn) for fn in fieldnames))
        for item in rows:
            try:
                csvwriter.writerow(item)
            except UnicodeEncodeError, e:
                print student.pretty(item)
                continue
            except Exception, e:
                continue
Ejemplo n.º 5
0
def writeCSV(filename, rows):
    with open(filename, "wt") as data_file:
        #print student.pretty(rows[0].keys())
        fieldnames = sorted(rows[0].keys())
        csvwriter = csv.DictWriter(data_file,
                                   delimiter=",",
                                   fieldnames=fieldnames)
        csvwriter.writerow(dict((fn, fn) for fn in fieldnames))
        for item in rows:
            try:
                csvwriter.writerow(item)
            except UnicodeEncodeError, e:
                print student.pretty(item)
                continue
            except Exception, e:
                continue
Ejemplo n.º 6
0
def writeCSV(filename, rows):
    with open(filename, "wt") as data_file:
        csvwriter = csv.DictWriter(data_file,
                                   delimiter=",",
                                   quotechar='"',
                                   quoting=csv.QUOTE_MINIMAL,
                                   fieldnames=fieldnames)
        csvwriter.writerow(dict((fn, fn) for fn in fieldnames))
        for key, item in rows:
            try:
                csvwriter.writerow(item)
            except UnicodeEncodeError, e:
                print student.pretty(item)
                continue
            except Exception, e:
                continue
Ejemplo n.º 7
0
#generates a json dictionary of all of the classes specified in the above "years" and "quarters" arrays
print "Grabbing courses..."

for department in curricula:
    print "  ", department
    filename = os.path.join(subdir, department + ".csv")
    if os.path.exists(filename):
        print "    skipped"
        continue
    for year in years:
        print '    ', year
        for quarter in quarters:
            classes = student.get_classes(year, quarter, department)
            if classes is None or "Courses" not in classes:
                print "bad data returned for %s %d %s"%(quarter,  year, department)
                print student.pretty(classes)
                continue;
            #print student.pretty(classes)

            for item in classes["Courses"]:
                #print student.pretty(item)
                num = item['CourseNumber']
                if num not in collegeabbr[department]:
                    #print item['Href']
                    try:
                        extra_data = student.get_class_data(item['Href'])
                        if extra_data is not None:
                            item['CourseDescription'] = None if extra_data['CourseDescription'] is None else extra_data['CourseDescription'].encode('utf-8')
                            item['CourseComment'] = extra_data['CourseComment']
                            item['FirstYear'] = extra_data['FirstEffectiveTerm']['Year']
                            item['FirstQuarter'] = extra_data['FirstEffectiveTerm']['Quarter']
Ejemplo n.º 8
0
print "Grabbing courses..."

for department in curricula:
    print "  ", department
    filename = os.path.join(subdir, department + ".csv")
    if os.path.exists(filename):
        print "    skipped"
        continue
    for year in years:
        print '    ', year
        for quarter in quarters:
            classes = student.get_classes(year, quarter, department)
            if classes is None or "Courses" not in classes:
                print "bad data returned for %s %d %s" % (quarter, year,
                                                          department)
                print student.pretty(classes)
                continue
            #print student.pretty(classes)

            for item in classes["Courses"]:
                #print student.pretty(item)
                num = item['CourseNumber']
                if num not in collegeabbr[department]:
                    #print item['Href']
                    try:
                        extra_data = student.get_class_data(item['Href'])
                        if extra_data is not None:
                            item['CourseDescription'] = None if extra_data[
                                'CourseDescription'] is None else extra_data[
                                    'CourseDescription'].encode('utf-8')
                            item['CourseComment'] = extra_data['CourseComment']