コード例 #1
0
ファイル: views.py プロジェクト: pedcremo/IESnetworkManager
def allow_by_mac(request,pc_id,pc_state):
  if not request.user.is_authenticated():
            return HttpResponseRedirect('/login/')
  response = HttpResponse()
  pc=Computer.objects.get(id=pc_id)
  network_type=pc.classroom.network_device.network_type 
  if network_type=="Mikrotik":    
    try:
    	mk =MikrotikRouter()
	mk.set_networkdevice(pc.classroom.network_device)
    	mk.login()
    	
    	if pc_state == "ON":
    		mk.add_firewall_rule_by_mac(pc.mac,"accept")    		
    	else:
    		mk.delete_firewall_rule_by_mac(pc.mac,"accept")
    	response.write("");
    except Exception, e:
    	response.write("ERROR: "+str(e))
コード例 #2
0
ファイル: views.py プロジェクト: pedcremo/IESnetworkManager
def get_pcs_information(classroom,list_pcs_classroom):
	pcs=[]	
	network_type=classroom.network_device.network_type 
	if network_type=="Mikrotik":  			
			mk =MikrotikRouter()
			mk.set_networkdevice(classroom.network_device)
			mk.login()
			
			#print classroom
			for computer in list_pcs_classroom:
				print computer
				resposta = mk.list_firewall_rule_by_mac(computer.mac)
				if resposta:
					network_action=resposta[0]['action']
					blocked = True
				else:
					network_action=None
					blocked = False
				pcs.append({'id':computer.id,'network_action':network_action,'identifier':computer.identifier,'mac':computer.mac,'resposta':resposta,'serial':computer.serial})
	return pcs