Пример #1
0
def run_generators(q_messages):
    print('run_generator')
    from hubbub.generator import HeartBeatGenerator

    if 'fake' in argv:
        from hubbub.adapter.fake import FakeAdapter as Adapter
    else:
        from hubbub.adapter.pidgin_dbus import PidginDBusAdapter as Adapter
    adapter = Adapter(None)  # Write-only adapter, no queue

    import threading
    try:
        from Queue import Queue as QQueue
    except ImportError:
        from queue import Queue as QQueue
    def start_generator(buddy, q):
        print('B', [buddy.id])
        generator = HeartBeatGenerator(adapter, buddy.id, q)
        generator.run()

    from hubbub.drugstore.models import Buddy
    queues = {}
    #for buddy in Buddy.select().where(Buddy.enabled):
    for buddy in Buddy.select():
        q = QQueue()
        queues[buddy.identifier] = q
        t = threading.Thread(target=start_generator, args=(buddy, q))
        t.start()

    while True:
        msg = q_messages.get()
        for q in queues.values():
            q.put(msg)
Пример #2
0
def friends_list():
    return json.dumps([
        {
            'id': b.identifier,
            'alias': b.alias,
            'active': b.enabled,
        }
        for b in Buddy.select()
        ])