def get(self, job_id=None):
        """
        Method to get report file

        Returns
        ------
        report: file
            HTML report file generated by Pypal
        """
        try:
            marsh_schema = parse_json_schema().load(request.args)
            args = marsh_schema
        except ValidationError as errors:
            logger.debug('Validation error: {}'.format(errors))
            return errors.messages, 500
        if 'job_id' not in args:
            logger.debug('Reports queue requested')
            failed = rq.registry.FailedJobRegistry(queue=self.report_q)
            comp = rq.registry.FinishedJobRegistry(queue=self.report_q)
            started = rq.registry.StartedJobRegistry(queue=self.report_q)
            reports_dict = {}
            reports_dict.update({j: 'Generated' for j in comp.get_job_ids()})
            reports_dict.update({j: 'Failed' for j in failed.get_job_ids()})
            reports_dict.update({j: 'Running' for j in started.get_job_ids()})
            return reports_dict, 200
        else:
            job_id = str(args['job_id'].hex)
        # Check for existing session info
        logger.debug('User requesting report')
        if job_id:
            if job_id.isalnum():
                check_job = check_jobid(job_id)
                if not check_job:
                    return abort(401)
                if self.adder.session_check(self.log_dir, job_id):
                    logger.debug('Valid session found')
                    report_path = valid.val_filepath(path_string=self.report_dir,
                                                     file_string='{}.json'.format(job_id))
                    donut_path = valid.val_filepath(path_string=self.report_dir,
                                                    file_string='{}.png'.format(job_id))
                    try:
                        with report_path.open('r') as rep:
                            report = json.loads(rep.read())
                        with donut_path.open('rb') as fh_donut:
                            donut_b64 = base64.b64encode(fh_donut.read()).decode('utf-8')
                            donut = 'data:image/png;base64,{}'.format(donut_b64)
                            report['donut'] = donut
                        logger.debug(report)
                        return jsonify(report), 200
                    except IOError as err:
                        logger.debug('Error reading report: {}'.format(err))
                        return {'msg': 'No report generated for'
                                       ' this job'}, 500
                    except Exception as err:
                        logger.debug('Error reading report: {}'.format(err))
                        return {'msg': 'Error reading report'}, 500
        else:
            return jsonify(ERR_INVAL_JID), 404

        Method to get report file

        Returns
        ------
        report: file
            HTML report file generated by Pypal
        
crackq/cq_api.py