docs: def createDataFromFile(self, filePath, inputEncoding = None, defaultFps = None):
          """Fetch a given filePath and parse its contents.
  
          May raise the following exceptions:
          * RuntimeError - generic exception telling that parsing was unsuccessfull
          * IOError - failed to open a file at given filePath
  
          @return SubtitleData filled with non-empty, default datafields. Client should modify them
                  and then perform an add/update operation"""
  
          file_ = File(filePath)
          if inputEncoding is None:
              inputEncoding = file_.detectEncoding()
          inputEncoding = inputEncoding.lower()
  
          videoInfo = VideoInfo(defaultFps) if defaultFps is not None else file_.detectFps()
  
          subtitles = self._parseFile(file_, inputEncoding, videoInfo.fps)
  
          data = SubtitleData()
          data.subtitles = subtitles
          data.fps = videoInfo.fps
          data.inputEncoding = inputEncoding
          data.outputEncoding = inputEncoding
          data.outputFormat = self._parser.parsedFormat()
          data.videoPath = videoInfo.videoPath
          return data