def lex_export_bot()

in amazon_lex_bot_deploy/amazon_lex_bot_deploy.py [0:0]


def lex_export_bot(name, version='1', region='us-east-1', log_level='INFO'):
    """
    return json string of current Lex bot definition
    :param name: Lex Bot name
    :param region: defaults to us-east-1
    :param log_level
    :param version: version to export, has to be numerical. Default is 1
    :return: None, Exception in case of failure
    """
    try:
        logger.setLevel(log_level)
        lex_client = setup_boto3_client(region=region)
        get_export_result = wait_async(f=lex_client.get_export,
                                       status_name='exportStatus',
                                       status_values=['IN_PROGRESS'],
                                       failed_statuses=['FAILED'],
                                       name=name,
                                       version=version,
                                       resourceType='BOT',
                                       exportType='LEX')
        download = requests.get(get_export_result['url'])

        buff = io.BytesIO(download.content)

        zipfile_ob = zipfile.ZipFile(buff)
        for zip_member in zipfile_ob.filelist:
            output_location = zipfile_ob.extract(member=zip_member)
            logger.info("Extracted {} to {}.".format(zip_member.filename,
                                                     output_location))

    except Exception as e:
        logger.error("{}".format(e))
        raise e