def find_bricks(host=None, name=None, silent=False, method=Method()): """Used by find_one_brick to look for bricks ***ADVANCED USERS ONLY***""" methods_available = 0 if method.usb: try: import usbsock methods_available += 1 socks = usbsock.find_bricks(host, name) for s in socks: yield s except ImportError: import sys if not silent: print >>sys.stderr, "USB module unavailable, not searching there" if method.bluetooth: try: import bluesock methods_available += 1 try: socks = bluesock.find_bricks(host, name) for s in socks: yield s except (bluesock.bluetooth.BluetoothError, IOError): #for cases such as no adapter, bluetooth throws IOError, not BluetoothError pass except ImportError: import sys if not silent: print >>sys.stderr, "Bluetooth module unavailable, not searching there" if method.device: try: import devsock methods_available += 1 socks = devsock.find_bricks(name=name) for s in socks: yield s except IOError: pass if method.fantom: try: import fantomsock methods_available += 1 if method.fantomusb: usbsocks = fantomsock.find_bricks(host, name, False) for s in usbsocks: yield s if method.fantombt: btsocks = fantomsock.find_bricks(host, name, True) for s in btsocks: yield s except ImportError: import sys if not silent: print >>sys.stderr, "Fantom module unavailable, not searching there" if methods_available == 0: raise NoBackendError("No selected backends are available! Did you install the comm modules?")
def device_brick(filename): import devsock sock = devsock.find_bricks(filename=filename) return sock.connect()