Source code for lambda_handlers.convert_handler

from __future__ import unicode_literals, print_function
from libraries.lambda_handlers.handler import Handler


[docs]class ConvertHandler(Handler): def __init__(self, *args, **kwargs): """ :param args: :param kwargs: """ # Get the converter class before passing args to the parent init if 'converter_class' in kwargs: self.converter_class = kwargs.pop('converter_class') else: args = list(args) self.converter_class = args.pop() Handler.__init__(self, *args, **kwargs) def _handle(self, event, context): """ :param dict event: :param context: :return dict: """ data = {} if 'data' in event and isinstance(event['data'], dict): data = event['data'] if 'body-json' in event and isinstance(event['body-json'], dict): data.update(event['body-json']) job = self.retrieve(data, 'job', 'payload') source = self.retrieve(job, 'source', 'job') resource = self.retrieve(job, 'resource_type', 'job') cdn_bucket = self.retrieve(job, 'cdn_bucket', 'job') cdn_file = self.retrieve(job, 'cdn_file', 'job') options = {} if 'options' in job: options = job['options'] converter = self.converter_class(source=source, resource=resource, cdn_bucket=cdn_bucket, cdn_file=cdn_file, options=options) results = converter.run() converter.close() # do cleanup after run return results