Пример #1
0
def get_person(url):
    person = None
    try:
        person = db.open().query(Person).filter(Person.api_url == url).one()
    except:
        person = Person()
        json_data = get_json(url)
        person.parse_dictionary(json_data)
        db.save(person)

        for starship_url in json_data['starships']:
            starship = get_starship(starship_url)
            pilot = Pilot()
            pilot.person = person
            pilot.starship = starship
            db.save(pilot)

        for vehicle_url in json_data['vehicles']:
            vehicle = get_vehicle(vehicle_url)
            driver = Driver()
            driver.person = person
            driver.vehicle = vehicle
            db.save(driver)

    return person