def crosslisting_feature(catalog, soup):
    """Parses all the crosslistings. These refer to the similar CRNs,
    such as a grad & undergrad level course.
    """
    listing = {}
    for elem in soup.coursedb.findAll('crosslisting'):
        seats = int(elem['seats'])
        crns = [safeInt(crn.string) for crn in elem.findAll('crn')]

        # we want to refer to the same object to save space
        cl = CrossListing(crns, seats)
        for crn in crns:
            listing[crn] = cl
    catalog.crosslistings = FrozenDict(listing)

    logger.info('Catalog has %d course crosslistings' % len(catalog.crosslistings))
def crosslisting_feature ( catalog , soup ) : listing = { } for elem in soup . coursedb . findAll ( 'crosslisting' ) : seats = int ( elem [ 'seats' ] ) crns = [ safeInt ( crn . string ) for crn in elem . findAll ( 'crn' ) ] cl = CrossListing ( crns , seats ) for crn in crns : listing [ crn ] = cl catalog . crosslistings = FrozenDict ( listing ) logger . info ( 'Catalog has %d course crosslistings' % len ( catalog . crosslistings ) )
Parses all the crosslistings. These refer to the similar CRNs,
    such as a grad & undergrad level course.