if cannot open file, yield nothing
remember successful directories
allow for python versions before 2.5
python 2.4 does not allow yield with finally
no need for StopIteration without the yield