log.info('selected catalog folder: %s' % catalog_folder)

if config['actions']['transform']:
    try:
        transform = Transform(config, catalog_folder)
        transform.transform_data()
    except Exception as e:
        log.error(e)
        exit(1)
    else:
        log.info('data transformed succesfully')

if config['actions']['upload']:
    if config['debug_mode']:
        # Data with errors is logged and skipped in debug mode.
        # Do not allow potentialy broken data to be uploaded to Molgenis.
        log.warn('upload is not allowed in debug mode')
    else:
        try:
            upload = Upload(config)
            upload.delete_molgenis_entities()
            upload.zip_transformed_data()
            upload.upload_transformed_data_zip()
            upload.set_entities_permissions()
            upload.set_entity_indexing_depth('lifelines_subsection_variable')
        except Exception as e:
            log.error(e)
            exit(1)

log.info('execution time: %s' % (timedelta(seconds=time.time() - startTime)))