docs: def parse_file(self, file_or_fname):
          """
          Parse a file or a filename
          """
          with self._context():
              if hasattr(file_or_fname, 'read'):
                  self.filename = getattr(
                      file_or_fname, 'name', file_or_fname.__class__.__name__)
                  self.p.ParseFile(file_or_fname)
              else:
                  self.filename = file_or_fname
                  with open(file_or_fname, 'rb') as f:
                      self.p.ParseFile(f)
          return self._root