docs: def from_fp(self, file_pointer, comment_lead=['c']):
          """
              Read a CNF formula from a file pointer. A file pointer should be
              specified as an argument. The only default argument is
              ``comment_lead``, which can be used for parsing specific comment
              lines.
  
              :param file_pointer: a file pointer to read the formula from.
              :param comment_lead: a list of characters leading comment lines
  
              :type file_pointer: file pointer
              :type comment_lead: list(str)
  
              Usage example:
  
              .. code-block:: python
  
                  >>> with open('some-file.cnf', 'r') as fp:
                  ...     cnf1 = CNF()
                  ...     cnf1.from_fp(fp)
                  >>>
                  >>> with open('another-file.cnf', 'r') as fp:
                  ...     cnf2 = CNF(from_fp=fp)
          """
  
          self.nv = 0
          self.clauses = []
          self.comments = []
          comment_lead = tuple('p') + tuple(comment_lead)
  
          for line in file_pointer:
              line = line.strip()
              if line:
                  if line[0] not in comment_lead:
                      cl = [int(l) for l in line.split()[:-1]]
                      self.nv = max([abs(l) for l in cl] + [self.nv])
  
                      self.clauses.append(cl)
                  elif not line.startswith('p cnf '):
                      self.comments.append(line)