del dirq_b print("*** BROWSER: lower level iterator protocol.") dirq_b = Queue(path, schema=schema) done = 0 miss = 0 name = dirq_b.first() while name: print("element: %s %s" % (path, name)) if not dirq_b.lock(name): name = dirq_b.next() miss += 1 continue element = dirq_b.get(name) print("element: %i" % done, element.keys()) dirq_b.unlock(name) done += 1 name = dirq_b.next() print("found %i elements; got %i" % (done + miss, done)) assert done == (COUNT - miss) del dirq_b print('=' * 25) # ======== # CONSUMER print("*** CONSUMER: Python iterator protocol.") dirq_c = Queue(path, schema=schema) miss = 0 for i, name in enumerate(dirq_c): i += 1 # enumerate(o, start=1) in Python 2.6 print("element %i: %s %s" % (i, path, name))