def savePeople(self): alldata = self.grabAllData("people") for data in alldata: # get person from database person = self.find_or_create(data, Person) # get planet from database planet = self.find_or_create( json.loads(requests.get(data['homeworld']).text), Planet) for v in data['vehicles']: vehicle = self.find_or_create(json.loads(requests.get(v).text), Vehicle) try: self.open().query(Driver).filter( Driver.person == person, Driver.vehicle == vehicle).one() print("data already exist") except: driver = Driver() driver.vehicle = vehicle driver.person = person self.save(driver) print("Driver Vehicle saved") for s in data['starships']: starship = self.find_or_create( json.loads(requests.get(s).text), Starship) try: self.open().query(Driver).filter( Driver.person == person, Driver.starship == starship).one() print("data already exist") except: pilot = Pilot() pilot.starship = starship pilot.person = person self.save(pilot) print("Pilot Starships saved") for f in data['films']: film = self.find_or_create(json.loads(requests.get(f).text), Film) try: self.open().query(Role).filter(Role.person == person, Role.film == film).one() print("data film already exist") except: role = Role() role.film = film role.person = person self.save(role) print("Role saved") for s in data['species']: species = self.find_or_create(json.loads(requests.get(s).text), Species) try: self.open().query(Member).filter( Member.person == person, Member.species == species).one() print("data species already exist") except: member = Member() member.species = species member.person = person self.save(member) print("Member saved") print(planet) if not person.homeworld: person.homeworld = planet self.save(person) #add planet based on vehicle vehicle = self.find_or_create( json.loads(requests.get(data['homeworld']).text), Planet)