#Class object for storing data on each class
class Class(object):
    #Initilzation  and attribute definition
    def __init__(self):
        self.program = ''
        self.title = ''
        self.credits = 0
        self.description = ''
        self.prereqs = []
        self.terms = []
        
    #Method for loading stored data, called in loadJSON   
    def load(self,JSON):
        self.program = JSON['program']
        self.title = JSON['title']
        self.credits = JSON['credits']
        self.description = JSON['description']
        self.prereqs = JSON['prereqs']
        self.terms = JSON['terms']

#Catalog object for storing collections of classes        
class Catalog(object):
    #Method for easily grabbing the class names within a catalog
    def names(self):
        return list(self.__dict__.keys())
    
#College object for storing collections of catalogs        
class College(object):
    #Method for easily grabbing the catalog names within a college
    def names(self):
        return list(self.__dict__.keys())

class Semester(object):
    pass

class Degree(object):
    pass
