Now passes end time to FB API as well, in the interests of bug avoidance.
Now passes end time to FB API as well, in the interests of bug avoidance.

Intervals have start and end time. If the interval is open (someone is
still working on a ticket) then the end time tag (dtEnd) will be
empty.

This generates two problems. First, the text attribute will be None,
so this error is raised.

  File "fogharvest.py", line 80, in <dictcomp>
    vals = { attr : conv(el.find(tag).text.strip()) for tag, (attr, conv) in cls.emap.items() }
  AttributeError: 'NoneType' object has no attribute 'strip'

Second, the FB.Interval class won't deal with an interval that has a
start but no end.

If we're running outside the working day intervals should be closed,
so by only asking for the intervals we will process we dodge that bullit.

TomDunham/fogharvest