def get_person(url): person = None try: person = db.open().query(Person).filter(Person.api == url).one() except: person = Person() json_data = get_json(url) person.parse_json(json_data) db.save(person) current_job_url = json_data['current_job'] if current_job_url: department = get_department(current_job_url) current_job = get_job(person, department, 1) for past_job_url in json_data['employment_history']: department = get_department(past_job_url) past_job = get_job(person, department, 0) current_address = json_data['current_address'] if current_address: city = get_city_from_address(current_address) address = get_address(person, city, 1) for past_address in json_data['past_addresses']: city = get_city_from_address(past_address) address = get_address(person, city, 0) return person