def main()

in subscribers/python/download-entitled-assets/download-entitled-assets.py [0:0]


def main(s3_bucket):

    if not s3_bucket:
        print("No s3 bucket provided, creating temporary staging bucket")
        temp_bucket = make_s3_staging_bucket()
        print("Created temporary bucket {}".format(temp_bucket))

    try:
        data_sets = get_entitled_data_sets()

        staging_bucket = s3_bucket or temp_bucket

        for ds in data_sets:
            print("Getting all Assets for Data set ### {} ###".format(ds.get('Name')))

            revisions = get_all_revisions(ds.get('Id'))
            for rev in revisions:
                assets = get_all_assets(ds.get('Id'), rev.get('Id'))

                destination_dir = os.path.join(to_url(ds.get('Name')), rev.get('Id'))

                export_assets(assets, staging_bucket)
                download_assets(assets, staging_bucket, destination_dir)

            print("---")
    finally:
        if temp_bucket:
            print("Removing temporary bucket {}".format(temp_bucket))
            remove_s3_bucket(temp_bucket)