the actual issue here is that notify_all() is not implemented. Both methods are present in Python's API:
http://docs.python.org/2/library/threading.html#threading.Condition.notify_all
notify_all()
notifyAll()
Wake up all threads waiting on this condition. This method acts like notify(), but wakes up all waiting threads instead of one. If the calling thread has not acquired the lock when this method is called, a RuntimeError is raised.