def main(): #------------------Remove Actions----------------- #Test Language: Remove Spanish from SU Buenos Aires Program.find_by_name("SU Buenos Aires").remove_language( Language.find_by_name("Spanish")) db.session.commit() #Test Loaction: Remove Lisbon, Portugal from SU European Cultural Exploration Program.find_by_name("SU European Cultural Exploration").remove_location( Location.find_by_name("Lisbon", "Portugal")) db.session.commit() #Removed the connection, but didnt remove Lisbon from the database #Test Area: Remove Biology from SU London Program.find_by_name("SU London").remove_area(Area.find_by_name("Biology")) db.session.commit() #Test Term: Remove Summer 1 from SU Amsterdam Program.find_by_name("SU Amsterdam").remove_term( Term.find_by_name("Summer 1")) db.session.commit() #------------------Modify Actions----------------- #Test removing Description from SU European Cultural Exploration Program.find_by_name("SU European Cultural Exploration").description = None db.session.commit() #Test Changing community engagement learning opportunity to False for SU Amsterdam Program.find_by_name("SU Amsterdam").comm_eng = False db.session.commit() #Test removing provider Provider.find_by_name("A1").remove_program( Program.find_by_name("SU Amsterdam")) db.session.commit() #------------------Add Actions----------------- #Add Spanish and French to SU ECE languages = ["Spanish", "French"] for i in languages: if (Language.get_language_id(i) == -1): tempLanguage = Language(i) tempLanguage.save_to_db() else: tempLanguage = Language.find_by_name(i) Program.find_by_name("SU European Cultural Exploration").add_language( tempLanguage) db.session.commit()
def remove_programs_from_provider(providerName, programs): prov = Provider.find_by_name(providerName) if (prov == None): raise ValueError for i in programs: tempProgram = Program.find_by_name(i) if (tempProgram == None): raise ValueError prov.remove_program(tempProgram) prov.save_to_db() #This if statement checks to see if the resulting Provider has any more existing relationships # If there are none, then delete the provider from the database if (Provider.query.join(Programs_Providers).filter( (Programs_Providers.c.provider_id == prov.id)).first() == None): db.session.delete(prov) db.session.commit() return True
def create_new_program(providerName, programName, com, res, intern, cost, cost_stipulations, description, url, areas, terms, languages, locations): #-----------------------------PROVIDER RELATIONSHIP---------------------------- # Check if the provider already exist, if it doesn't then make a new provider if (Provider.get_provider_id(providerName) == -1): prov = Provider(providerName) prov.save_to_db() else: prov = Provider.find_by_name(providerName) # Check if the program already exist, if it doesn't then make a new program if (Program.get_program_id(programName) == -1): prog = Program(programName, com, res, intern, cost, cost_stipulations, description, url) prog.save_to_db() else: prog = Program.find_by_name(programName) #Add the program to the provider prov.add_program(prog) prov.save_to_db() #-----------------------------PROGRAM RELATIONSHIPS---------------------------- # AREA, TERM, LANGUAGES, LOCATION # AREA: # Cyle through all area names: check to see if the area already exist in the db, # if it doesn't, add it to the program and create the relationship. for i in areas: if (Area.get_area_id(i) == -1): tempArea = Area(i) tempArea.save_to_db() else: tempArea = Area.find_by_name(i) prog.add_area(tempArea) prog.save_to_db() #might need save to db methods # TERM: # Cyle through all term names: check to see if the term already exist in the db, # if it doesn't, add it to the program and create the relationship. for i in terms: if (Term.get_term_id(i) == -1): tempTerm = Term(i) tempTerm.save_to_db() else: tempTerm = Term.find_by_name(i) prog.add_term(tempTerm) prog.save_to_db() #might need save to db methods # LANGUAGES: # Cyle through all term names: check to see if the term already exist in the db, # if it doesn't, add it to the program and create the relationship. for i in languages: if (Language.get_language_id(i) == -1): tempLanguage = Language(i) tempLanguage.save_to_db() else: tempLanguage = Language.find_by_name(i) prog.add_language(tempLanguage) prog.save_to_db() #might need save to db methods # LOCATION: # Cyle through all term names: check to see if the term already exist in the db, # if it doesn't, add it to the program and create the relationship. for i in locations: if (Location.get_location_id(i[0], i[1]) == -1): tempLocation = Location(i[0], i[1]) tempLocation.save_to_db() else: tempLocation = Location.find_by_name(i[0], i[1]) prog.add_location(tempLocation) prog.save_to_db()
def home(): providers = Provider.return_all_providers() json_list = [i.serialize for i in providers] return jsonify(json_list)