def renew_drivers_license()

in pyqldbsamples/renew_drivers_license.py [0:0]


def renew_drivers_license(driver, valid_from, valid_to, license_number):
    """
    Renew the ValidFromDate and ValidToDate of a driver's license.

    :type driver: :py:class:`pyqldb.driver.qldb_driver.QldbDriver`
    :param driver: An instance of the QldbDriver class.

    :type valid_from: :py:class:`datetime.datetime`
    :param valid_from: The new valid-from date.

    :type valid_to: :py:class:`datetime.datetime`
    :param valid_to: The new valid-to date.

    :type license_number: str
    :param license_number: The license number for the driver's license to renew.

    :raises RuntimeError: If no driver's license was updated.
    """
    logger.info('Renewing license with license number: {}...'.format(license_number))
    update_valid_date = 'UPDATE DriversLicense AS d SET d.ValidFromDate = ?, d.ValidToDate = ? WHERE d.LicenseNumber ' \
                        '= ?'
    cursor = driver.execute_lambda(lambda executor: executor.execute_statement(update_valid_date,
                                                                               convert_object_to_ion(valid_from),
                                                                               convert_object_to_ion(valid_to),
                                                                               convert_object_to_ion(license_number)))
    logger.info('DriversLicense Document IDs which had licenses renewed: ')
    list_of_licenses = get_document_ids_from_dml_results(cursor)
    for license in list_of_licenses:
        logger.info(license)
    return list_of_licenses