<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def read_videos(self, begtime=None, endtime=None):
 """Return list of videos with start and end times for a period. Parameters begtime : int or datedelta or datetime or list start of the data to read; if it's int, it's assumed it's s; if it's datedelta, it's assumed from the start of the recording; if it's datetime, it's assumed it's absolute time. It can also be a list of any of the above type. endtime : int or datedelta or datetime end of the data to read; if it's int, it's assumed it's s; if it's datedelta, it's assumed from the start of the recording; if it's datetime, it's assumed it's absolute time. It can also be a list of any of the above type. Returns ------- list of path list of absolute paths (as str) to the movie files float time in s from the beginning of the first movie when the part of interest starts float time in s from the beginning of the last movie when the part of interest ends Raises ------ OSError when there are no video files at all IndexError when there are video files, but the interval of interest is not in the list of files. """

        if isinstance(begtime, datetime):
            begtime = begtime - self.header['start_time']
        if isinstance(begtime, timedelta):
            begtime = begtime.total_seconds()
        if isinstance(endtime, datetime):
            endtime = endtime - self.header['start_time']
        if isinstance(endtime, timedelta):
            endtime = endtime.total_seconds()

        videos = self.dataset.return_videos(begtime, endtime)
        """
        try
        except AttributeError:
            lg.debug('This format does not have video')
            videos = None
        """
        return videos