def do_detail(cls, request): task_id = request.GET.get('task_id') rule_id = request.GET.get('id','#') records = [] template = '\t<span class="badge">%s</span>' if rule_id == '#': domain = get_domain(task_id) domain = "%s%s" %(domain,template % Result.objects.filter(task_id=task_id).count()) root = {'text':domain, 'id':'/', 'icon':'domain','state':{'opened':True,'disabled':False}} rule_ids = Result.objects.filter(task_id=task_id).order_by('-risk').values('rule_id').distinct() childrens = [] for rd in rule_ids: r = Rule.objects.get(rule_id=rd['rule_id']) name = "%s%s" % (r.rule_name, template % Result.objects.filter(task_id=task_id, rule_id=rd['rule_id']).count()) childrens.append({'text':name, 'id':rd['rule_id'], 'icon':r.risk,'children':True}) root['children'] = childrens records.append(root) else: results = Result.objects.filter(task_id=task_id,rule_id=rule_id) for r in results: rid = "%s^%s" %(r.id, rule_id) url = r.url index = url.find('?') if index != -1: url = url[:index] records.append({'text':url, 'id':rid, 'icon':'url','children':False}) response = HttpResponse(json.dumps(records)) response['Content-Type'] ='application/json; charset=utf8' return response
def do_node(cls, request): task_id = request.GET.get('task_id') node = request.GET.get('id', '#') if node == '#': #root records = [] node = '/' # task = Task.objects.get(id=task_id) # _ = urlparse.urlsplit(task.start_url) # domain = "%s://%s%s" % ( _.scheme, _.netloc, task.base) domain = get_domain(task_id) root = { 'text': domain, 'id': '/', 'icon': 'folder', 'state': { 'opened': True, 'disabled': False } } root['children'] = cls.get_node(task_id, node) records.append(root) else: records = cls.get_node(task_id, node) response = HttpResponse(json.dumps(records)) response['Content-Type'] = 'application/json; charset=utf8' return response
def do_detail(cls, request): task_id = request.GET.get('task_id') rule_id = request.GET.get('id', '#') records = [] template = '\t<span class="badge">%s</span>' if rule_id == '#': domain = get_domain(task_id) domain = "%s%s" % (domain, template % Result.objects.filter(task_id=task_id).count()) root = { 'text': domain, 'id': '/', 'icon': 'domain', 'state': { 'opened': True, 'disabled': False } } rule_ids = Result.objects.filter(task_id=task_id).order_by( '-risk').values('rule_id').distinct() childrens = [] for rd in rule_ids: r = Rule.objects.get(rule_id=rd['rule_id']) name = "%s%s" % (r.rule_name, template % Result.objects.filter( task_id=task_id, rule_id=rd['rule_id']).count()) childrens.append({ 'text': name, 'id': rd['rule_id'], 'icon': r.risk, 'children': True }) root['children'] = childrens records.append(root) else: results = Result.objects.filter(task_id=task_id, rule_id=rule_id) for r in results: rid = "%s^%s" % (r.id, rule_id) url = r.url index = url.find('?') if index != -1: url = url[:index] records.append({ 'text': url, 'id': rid, 'icon': 'url', 'children': False }) response = HttpResponse(json.dumps(records)) response['Content-Type'] = 'application/json; charset=utf8' return response
def do_node(cls, request): task_id = request.GET.get('task_id') node = request.GET.get('id','#') if node == '#': #root records = [] node = '/' # task = Task.objects.get(id=task_id) # _ = urlparse.urlsplit(task.start_url) # domain = "%s://%s%s" % ( _.scheme, _.netloc, task.base) domain = get_domain(task_id) root = {'text':domain, 'id':'/', 'icon':'folder','state':{'opened':True,'disabled':False}} root['children'] = cls.get_node(task_id, node) records.append(root) else: records = cls.get_node(task_id, node) response = HttpResponse(json.dumps(records)) response['Content-Type'] ='application/json; charset=utf8' return response