Ejemplo n.º 1
0
    def usb_monitor_start(self):
        self.monitor.start()

        for action, device in self.monitor:
            bus_id = device.sys_name

            # Device has been added
            if action == 'add':

                devnum = int(device.attributess.get("devnum"))
                busnum = int(device.attributes.get("busnum"))

                dev = usb.core.find(address=devnum, bus=busnum)

                print("A device has been added bus_id {}".format(bus_id))

                dev_id = read_device.get_descriptors(dev)
                dev_name = read_device.get_device_name(device.attributes)

                self.add_connected_device(bus_id, dev_id, dev_name, dev)

                if key not in self.known_devices.keys():
                    self.ask_user(dev_name, key, dev)
                else:
                    print("It is a trusted device")

        # Device has been removed
            if action == 'remove':
                print(
                    "A device has been removed from the bus_id {}".format(dev))
                self.remove_connected_device(dev)
Ejemplo n.º 2
0
    def start_monitor(self, device):
        bus_id = device.sys_name
        action = device.action

        # If a new device is added:
        # * add it to the connected device dict
        # * check if the flag for known_devices is on and the devic
        # is in the known devices dict
        if action == 'add':
            devnum = int(device.attributes.get("devnum"))
            busnum = int(device.attributes.get("busnum"))

            dev = usb.core.find(address=devnum, bus=busnum)

            dev_id = read_device.get_descriptors(dev)
            dev_name = read_device.get_device_name(device.attributes)
            self.add_connected_device(bus_id, dev_name, dev_id)

            print("Device added!")
            print("Device name {}, dev_id {} and bus_id {}".format(
                dev_name, dev_id, bus_id))

            # If a device is removed, simply remove it from the
            # connected device dict
            if action == 'remove':
                print("Device removed!")
                print("Device bus {}".format(bus_id))
                self.remove_connected_device(bus_id)
Ejemplo n.º 3
0
    def get_connected_devices(self):
	print("Connected-devices that are new")
	for device in self.context.list_devices(subsystem='usb',
		                            		DEVTYPE='usb_device'):

	    if device.find_parent(subsystem='usb', 
					device_type='usb_device') != None:
	        bus_id = device.sys_name
	
		devnum = int(device.attributes.get("devnum"))
		busnum = int(device.attributes.get("busnum"))


        	dev = usb.core.find(address=devnum, bus=busnum)
					
        	dev_id = read_device.get_descriptors(dev)
		dev_name = read_device.get_device_name(device.attributes)

				
    	        self.add_connected_device(bus_id, dev_id, dev_name, dev)


		if self.running_mode == RunningMode.CLI:
	            if dev_id not in self.known_devices.keys():
			self.ask_user(dev, dev_name, bus_id, dev_id)
Ejemplo n.º 4
0
    def usb_monitor_start(self):
	self.monitor.start()

	for action, device in self.monitor:
       	    bus_id = device.sys_name
			
    	    # Device has been added
	    if action == 'add':

		devnum = int(device.attributess.get("devnum"))
		busnum = int(device.attributes.get("busnum"))

		dev = usb.core.find(address=devnum, bus=busnum)

		print("A device has been added bus_id {}".format(bus_id))

		dev_id = read_device.get_descriptors(dev)
		dev_name = read_device.get_device_name(device.attributes)

		self.add_connected_device(bus_id, dev_id, dev_name, dev)

		if key not in self.known_devices.keys():
		    self.ask_user(dev_name, key, dev)
		else:
		    print("It is a trusted device")

	    # Device has been removed
	    if action == 'remove':
		print("A device has been removed from the bus_id {}".format(dev))
		self.remove_connected_device(dev)
Ejemplo n.º 5
0
    def start_monitor(self, device):
	bus_id = device.sys_name
	action = device.action                                                                          

	# If a new device is added:
	# * add it to the connected device dict
        # * check if the flag for known_devices is on and the devic
	# is in the known devices dict
	if action == 'add':
	    devnum = int(device.attributes.get("devnum"))
	    busnum = int(device.attributes.get("busnum"))
			
	    dev = usb.core.find(address=devnum, bus=busnum)
			
    	    dev_id = read_device.get_descriptors(dev)
	    dev_name = read_device.get_device_name(device.attributes)
	    self.add_connected_device(bus_id, dev_name, dev_id)

	    print("Device added!")
    	    print("Device name {}, dev_id {} and bus_id {}".format(dev_name, dev_id, bus_id))

       
	    # If a device is removed, simply remove it from the
	    # connected device dict
	    if action == 'remove':
		print("Device removed!")
		print("Device bus {}".format(bus_id))
		self.remove_connected_device(bus_id)
Ejemplo n.º 6
0
    def refresh(self, device):
        treeselection = self.treeview.get_selection()
        model, treeiter = treeselection.get_selected()    


        if treeiter != None:
            index = (model.get_path(treeiter)).get_indices()[0]
       	
        action = device.action
        bus_id = device.sys_name


        if action == 'add':

            devnum = int(device.attributes.get("devnum"))
            busnum = int(device.attributes.get("busnum"))
			
            dev = usb.core.find(address=devnum, bus=busnum)

            dev_id = read_device.get_descriptors(dev)
            dev_name = read_device.get_device_name(device.attributes)

            self.device_monitor.add_connected_device(bus_id, dev_id, dev_name, dev)

            if dev_id not in self.device_monitor.known_devices.keys():
                self.usb_list.append([Gtk.STOCK_NO, True, str(dev), dev_name["Manufacturer"],
    				    dev_name["Product"]])
				
            else:
                self.usb_list.append([Gtk.STOCK_YES, True, str(dev), dev_name["Manufacturer"],
				    dev_name["Product"]])

        if action == 'remove':
            bus_id = self.device_monitor.remove_connected_device(dev)
            self.remove_from_usb_list(bus_id)
			
        if treeiter != None:
              self.treeview.set_cursor(index)
	
        return True
Ejemplo n.º 7
0
    def get_connected_devices(self):
        print("Connected-devices that are new")
        for device in self.context.list_devices(subsystem='usb',
                                                DEVTYPE='usb_device'):

            if device.find_parent(subsystem='usb',
                                  device_type='usb_device') != None:
                bus_id = device.sys_name

                devnum = int(device.attributes.get("devnum"))
                busnum = int(device.attributes.get("busnum"))

                dev = usb.core.find(address=devnum, bus=busnum)

                dev_id = read_device.get_descriptors(dev)
                dev_name = read_device.get_device_name(device.attributes)

                self.add_connected_device(bus_id, dev_id, dev_name, dev)

                if self.running_mode == RunningMode.CLI:
                    if dev_id not in self.known_devices.keys():
                        self.ask_user(dev, dev_name, bus_id, dev_id)