'Close the open file handle if present.
For this specific implementation, this method will handle quarantining
the file if necessary.'

def close(self):

    if self._fp:
        try:
            if (self._started_at_0 and self._read_to_eof):
                self._handle_close_quarantine()
        except DiskFileQuarantined:
            raise
        except (Exception, Timeout) as e:
            self._logger.error(_('ERROR    DiskFile    %(data_file)s    close    failure:    %(exc)s    :    %(stack)s'), {'exc': e, 'stack': ''.join(traceback.format_stack()), 'data_file': self._data_file})
        finally:
            (fp, self._fp) = (self._fp, None)
            fp.close()
