code: def _read_from_file(self):
          
          # test if we can read the given file
          if not gf.file_can_be_read(self.file_path):
              self.log_exc(u"File '%s' cannot be read" % (self.file_path), None, True, OSError)
  
          if self.file_format not in TextFileFormat.ALLOWED_VALUES:
              self.log_exc(u"Text file format '%s' is not supported." % (self.file_format), None, True, ValueError)
  
          # read the contents of the file
          self.log([u"Reading contents of file '%s'", self.file_path])
          with io.open(self.file_path, "r", encoding="utf-8") as text_file:
              lines = text_file.readlines()
  
          # clear text fragments
          self.clear()
  
          # parse the contents
          map_read_function = {
              TextFileFormat.MPLAIN: self._read_mplain,
              TextFileFormat.MUNPARSED: self._read_munparsed,
              TextFileFormat.PARSED: self._read_parsed,
              TextFileFormat.PLAIN: self._read_plain,
              TextFileFormat.SUBTITLES: self._read_subtitles,
              TextFileFormat.UNPARSED: self._read_unparsed
          }
          map_read_function[self.file_format](lines)
  
          # log the number of fragments
          self.log([u"Parsed %d fragments", len(self.fragments)])
docs: Read text fragments from file.