':return: The status as a dict which I can use in JSON responses'

def get_status_as_dict(self):

    def serialize_fuzzable_request(fuzzable_request):
        if (fuzzable_request is None):
            return fuzzable_request
        return ('%s    %s' % (fuzzable_request.get_method(), fuzzable_request.get_uri()))
    crawl_fuzzable_request = self.get_current_fuzzable_request('crawl')
    crawl_fuzzable_request = serialize_fuzzable_request(crawl_fuzzable_request)
    audit_fuzzable_request = self.get_current_fuzzable_request('audit')
    audit_fuzzable_request = serialize_fuzzable_request(audit_fuzzable_request)
    data = {'status': self.get_simplified_status(), 'is_paused': self.is_paused(), 'is_running': self.is_running(), 'active_plugin': {'crawl': self.get_running_plugin('crawl'), 'audit': self.get_running_plugin('audit')}, 'current_request': {'crawl': crawl_fuzzable_request, 'audit': audit_fuzzable_request}, 'queues': {'crawl': {'input_speed': self.get_crawl_input_speed(), 'output_speed': self.get_crawl_output_speed(), 'length': self.get_crawl_qsize()}, 'audit': {'input_speed': self.get_audit_input_speed(), 'output_speed': self.get_audit_output_speed(), 'length': self.get_audit_qsize()}}, 'eta': {'crawl': self.get_crawl_eta(), 'audit': self.get_audit_eta()}, 'rpm': self.get_rpm()}
    return data
