docs: def open(self):
          """Generator that opens and yields filehandles using appropriate facilities:
          test if path represents a local file or file over URL, if file is compressed
          or not.
  
          :return: Filehandle to be processed into an instance.
          """
          is_url = self.is_url(self.path)
          compression_type = self.is_compressed(self.path)
  
          if not compression_type:
              if is_url:
                  filehandle = urlopen(self.path)
              else:
                  filehandle = open(self.path, "r")
              source = self.path
              yield filehandle, source
              filehandle.close()
  
          elif compression_type:
              if is_url:
                  response = urlopen(self.path)
                  path = response.read()
                  response.close()
              else:
                  path = self.path
  
              if compression_type == "zip":
                  ziparchive = zipfile.ZipFile(io.BytesIO(path), "r") if is_url else zipfile.ZipFile(path)
                  for name in ziparchive.infolist():
                      if not name.filename.endswith("/"):
                          filehandle = ziparchive.open(name)
                          source = self.path + "/" + name.filename
                          yield filehandle, source
                          filehandle.close()
  
              elif compression_type in ("tar", "tar.bz2", "tar.gz"):
                  tararchive = tarfile.open(fileobj=io.BytesIO(path)) if is_url else tarfile.open(path)
                  for name in tararchive:
                      if name.isfile():
                          filehandle = tararchive.extractfile(name)
                          source = self.path + "/" + name.name
                          yield filehandle, source
                          filehandle.close()
  
              elif compression_type == "bz2":
                  filehandle = bz2.BZ2File(io.BytesIO(path)) if is_url else bz2.BZ2File(path)
                  source = self.path
                  yield filehandle, source
                  filehandle.close()
  
              elif compression_type == "gz":
                  filehandle = gzip.open(io.BytesIO(path)) if is_url else gzip.open(path)
                  source = self.path
                  yield filehandle, source
                  filehandle.close()