from rest_framework import status
from shared.utils import get_logger
from tutorias_itsvc.users.services.profile_image import ProfileImageFilterService

log = get_logger(__file__)


class ProfileImageGetterController:
    def __init__(self, repository, serializer, response, getter_service=None):
        self.__repository = repository
        self.__serializer = serializer
        self.__response = response
        self.__service = getter_service or ProfileImageFilterService(
            self.__repository)

    def __call__(self, **kwargs):
        try:
            profile_image = self.__service(**kwargs).last()
            if profile_image:
                serializer_data = self.__serializer(profile_image)
                response_data = dict(
                    success=True,
                    message="All Ok",
                    data=serializer_data,
                )
                http_status = status.HTTP_200_OK
            else:
                response_data = dict(
                    success=False,
                    message="Not Found",
                    data={},
Exemple #2
0
            logger.info('job_args_tuples: {}'.format(job_args_tuples))
            job_args = {}
            for a in job_args_tuples:
                job_args[a[0]] = utils.convert_to_bool_if_is(a[1])
        return job_args

    @staticmethod
    def prepare_executor_env_vars(args):
        environment = {
            'JOB_ARGS': ' '.join(args.job_args) if args.job_args else ''
        }
        return environment


if __name__ == '__main__':
    logger = utils.get_logger(__name__, 'logging.yaml')

    args = ArgParser.parse_args()
    job_args = ArgParser.parse_job_args(args)
    environment = ArgParser.prepare_executor_env_vars(args)

    logger.info("Called with arguments: {}".format(args))
    os.environ.update(environment)

    logger.info(f'Running job {args.job_name}... Environment is {environment}')

    logger.info(f"os.curdir: {os.path.abspath(os.curdir)}")
    logger.info(f"os.listdir: {os.listdir()}")

    logger.info(f"Initializing job_name: jobs.{args.job_name}...")
    job_module = importlib.import_module('jobs.{}'.format(args.job_name))