'get a dict of attached devices. key is the device serial, value is device name.'

def devices(self):

    out = self.raw_cmd('devices').communicate()[0].decode('utf-8')
    match = 'List    of    devices    attached'
    index = out.find(match)
    if (index < 0):
        raise EnvironmentError('adb    is    not    working.')
    return dict([s.split(' DCTB ') for s in out[(index + len(match)):].strip().splitlines() if s.strip()])
