def clean_templates()

in clone_mediaconvert_resources/clone_mediaconvert_resources.py [0:0]


def clean_templates(dirty_templates, file, region):
    try:
        clean_templates = []
        resource_arns = []
        for template in dirty_templates:
            new_template_struct = {'Name': template['Name'], 'Settings': template['Settings'], 'Category': '',
                                   'Description': '', 'Queue': '', 'Priority': 0,
                                   'AccelerationSettings': {'Mode': 'DISABLED'}, 'StatusUpdateInterval': 'SECONDS_60',
                                   'HopDestinations': []}
            if 'Category' in template:
                new_template_struct['Category'] = template['Category']

            if 'Description' in template:
                new_template_struct['Description'] = template['Description']

            if 'Priority' in template:
                new_template_struct['Priority'] = int(template['Priority'])

            if 'AccelerationSettings' in template:
                new_template_struct['AccelerationSettings']['Mode'] = template['AccelerationSettings']['Mode']

            if 'Queue' in template:
                new_queue_name = template['Queue'].split('/')[1]
                account_number = template['Queue'].split(':')[4]
                new_queue = 'arn:aws:mediaconvert:' + region + ':' + account_number + ':queues/' + new_queue_name
                new_template_struct['Queue'] = new_queue

            if 'StatusUpdateInterval' in template:
                new_template_struct['StatusUpdateInterval'] = template['StatusUpdateInterval']

            if 'HopDestinations' in template:

                for hop_queue in template['HopDestinations']:
                    new_hop_queue_name = hop_queue['Queue'].split('/')[1]
                    account_number = hop_queue['Queue'].split(':')[4]
                    new_hop_queue = 'arn:aws:mediaconvert:' + region + ':' + account_number + \
                                    ':queues/' + new_hop_queue_name
                    new_hop_destination = {'Queue': new_hop_queue, 'Priority': hop_queue['Priority'], 'WaitMinutes':
                        hop_queue['WaitMinutes']}
                    new_template_struct['HopDestinations'].append(new_hop_destination)

            clean_templates.append(new_template_struct)
            resource_arns.append(template['Arn'])

        get_resource_tags(resource_arns, file)

        if file == "single":
            if not os.path.exists('jobTemplates'):
                create_directory("jobTemplates")
            with open('jobTemplates/list.json', 'w') as output_file:
                json.dump(clean_templates, output_file)
            return 'jobTemplates/list.json'
        else:
            t = time.time()
            working_directory = "templates_" + str(int(t))
            create_directory(working_directory)

            for c_template in clean_templates:
                filename = c_template['Name'] + ".json"
                with open(working_directory + '/' + filename, 'w+') as output_file:
                    json.dump(c_template, output_file)
            return working_directory
    except:
        print("Error: Unknown Error when trying to create template file")
        shutil.rmtree("jobTemplates")
        exit(-1)