def continue_entry(self, date, end_time, description=None):
try:<EOL><INDENT>entry = self.entries[date][-<NUM_LIT:1>]<EOL><DEDENT>except IndexError:<EOL><INDENT>raise NoActivityInProgressError("<STR_LIT>")<EOL><DEDENT>if not entry.in_progress:<EOL><INDENT>raise NoActivityInProgressError("<STR_LIT>")<EOL><DEDENT>if entry.get_start_time() > end_time:<EOL><INDENT>raise StopInThePastError("<STR_LIT>")<EOL><DEDENT>entry.duration = (entry.duration[<NUM_LIT:0>], round_to_quarter(<EOL>entry.duration[<NUM_LIT:0>],<EOL>end_time<EOL>))<EOL>if description is not None:<EOL><INDENT>entry.description = description<EOL><DEDENT>
Find the in-progress entry for the given date (ie. the last entry that has an empty end time) and set its end
time and optionally its description to the given values. `end_time` should be a :class:`datetime.time` object.
:exc:`~taxi.exceptions.NoActivityInProgressError` will be raised if there's no entry in the given date, if the
last entry doesn't have a start time, or if the last entry already has an end time.