code: def find_urls(self, site, frametype, gpsstart, gpsend,
                    match=None, on_gaps='warn'):
          
          span = Segment(gpsstart, gpsend)
          cache = [e for e in self._read_ffl_cache(site, frametype) if
                   e.observatory == site and e.description == frametype and
                   e.segment.intersects(span)]
          urls = [e.path for e in cache]
          missing = SegmentList([span]) - cache_segments(cache)
  
          if match:
              match = re.compile(match)
              urls = list(filter(match.search, urls))
  
          # no missing data or don't care, return
          if on_gaps == 'ignore' or not missing:
              return urls
  
          # handle missing data
          msg = 'Missing segments: \n{0}'.format('\n'.join(map(str, missing)))
          if on_gaps == 'warn':
              warnings.warn(msg)
              return urls
          raise RuntimeError(msg)
docs: Find all files of the given type in the [start, end) GPS interval.