in pyqldbsamples/register_drivers_license.py [0:0]
def register_new_drivers_license(driver, person, new_license):
"""
Register a new person and a new driver's license.
:type driver: :py:class:`pyqldb.driver.qldb_driver.QldbDriver`
:param driver: An instance of the QldbDriver class.
:type person: dict
:param person: The person to register.
:type new_license: dict
:param new_license: The driver's license to register.
"""
person_id = register_new_person(driver, person)
if driver.execute_lambda(lambda executor: person_has_drivers_license(executor, person_id)):
gov_id = person['GovId']
logger.info("Person with government ID '{}' already has a license! No new license added.".format(gov_id))
else:
logger.info("Registering new driver's license...")
# Update the new license with new driver's unique PersonId.
new_license.update({'PersonId': str(person_id)})
statement = 'INSERT INTO DriversLicense ?'
driver.execute_lambda(lambda executor: executor.execute_statement(statement, convert_object_to_ion(new_license)))
cursor = driver.execute_lambda(lambda executor: lookup_drivers_license_for_person(executor, person_id))
try:
next(cursor)
logger.info('Successfully registered new driver.')
return
except StopIteration:
logger.info('Problem occurred while inserting new license, please review the results.')
return