Exemple #1
0
def _send_to_screen(screen_id, data):
    print 'broadcasting to', screen_id, '\n\tdata: ', data
    screen_channel = 'screen_channel_%s' % screen_id
    redis_session.publish((screen_channel), data)
    screen_queue = _rget('screen_message_queue_%s' % screen_channel) or []
    screen_queue.append(data)
    _rset('queue_%s' % screen_channel, screen_queue[:100])
Exemple #2
0
def register_device(device_id, device_name, screen_id, pairing_info):
    redis_session.sadd('device_ids', device_id)
    _rset('device_to_screen_id_%s' % device_id, screen_id)
    _rset('device_to_device_name_%s' % device_id, device_name)
    _rset('device_to_pairing_info_%s' % device_id, pairing_info)
    _rset('screen_to_device_id_%s' % screen_id, device_id)
    _rset('screen_info_%s' % screen_id,
           {"init_time": time.time(), "broadcasts": {}})
    return screen_id
Exemple #3
0
def remove_from_broadcast(screen_id, broadcast_id):
    broadcast_info = _rget('broadcast_info_%s' % broadcast_id)
    screen_info = _rget('screen_info_%s' % screen_id)

    try:
        broadcast_info['screens'].pop(str(screen_id))
    except KeyError:
        pass
    else:
        _rset('broadcast_info_%s' % broadcast_id, broadcast_info)

    try:
        screen_info['broadcasts'].pop(str(broadcast_id))
    except KeyError:
        pass
    else:
        _rset('screen_info_%s' % screen_id, screen_info)

    return {'broadcast_id': broadcast_id, 'screen_id': screen_id}
Exemple #4
0
def start_broadcast(broadcast_id, remote_id):
    redis_session.sadd('remote_ids', remote_id)
    _rset('remote_to_broadcast_id_%s' % (broadcast_id, ), remote_id)
    _rset('broadcast_to_remote_id_%s' % (remote_id, ), broadcast_id)
    _rset('broadcast_info_%s' % broadcast_id,
           {"init_time": time.time(), "screens": {}})
    return broadcast_id
Exemple #5
0
def add_to_broadcast(screen_id, broadcast_id):
    broadcast_info = _rget('broadcast_info_%s' % broadcast_id)
    screen_info = _rget('screen_info_%s' % screen_id)

    start_time = time.time()

    # Update start times for the broadcast and screen info
    broadcast_info['screens'][str(screen_id)] = start_time
    screen_info['broadcasts'][str(broadcast_id)] = start_time

    # Create a record of the fact that this device has conencted
    # to this creen
    remote_id = _rget('remote_to_broadcast_id_%s' % (broadcast_id, ))
    device_id = _rget('screen_to_device_id_%s' % (screen_id, ))
    remote_info = _rget('remote_info_%s' % (remote_id, ))
    if not remote_info:
        remote_info = {'devices': {}}
    remote_info['devices'][device_id] = start_time

    _rset('screen_info_%s' % screen_id, screen_info)
    _rset('remote_info_%s' % (remote_id, ), remote_info)
    return _rset('broadcast_info_%s' % broadcast_id, broadcast_info)
Exemple #6
0
def set_broadcast_pairing_info(broadcast_id, connected):
    _rset('broadcast_pairing_info_%s' % broadcast_id, dict(connected=connected))