code: def processes_file(self, filename, outfile=None, errorfile=None):
          
          if outfile is None:
              outfile = os.path.splitext(filename)[0] + '.png'
          if errorfile is None:
              errorfile = os.path.splitext(filename)[0] + '_error.html'
          data = open(filename, 'U').read()
          try:
              content = self.processes(data)
          except PlantUMLHTTPError as e:
              err = open(errorfile, 'w')
              err.write(e.content)
              err.close()
              return False
          out = open(outfile, 'wb')
          out.write(content)
          out.close()
          return True
docs: Take a filename of a file containing plantuml text and processes
          it into a .png image.
          
          :param str filename: Text file containing plantuml markup
          :param str outfile: Filename to write the output image to. If not
                      supplied, then it will be the input filename with the
                      file extension replaced with '.png'.
          :param str errorfile: Filename to write server html error page
                      to. If this is not supplined, then it will be the
                      input ``filename`` with the extension replaced with
                      '_error.html'.
          :returns: ``True`` if the image write succedded, ``False`` if there was
                      an error written to ``errorfile``.