code: def main(src_file, dest_file, **kwargs):
      
      mmap = mapnik.Map(1, 1)
      # allow [zoom] filters to work
      mmap.srs = '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null'
      load_kwargs = dict([(k, v) for (k, v) in kwargs.items() if k in ('cache_dir', 'scale', 'verbose', 'datasources_cfg', 'user_styles')])
      cascadenik.load_map(mmap, src_file, dirname(realpath(dest_file)), **load_kwargs)
      
      (handle, tmp_file) = tempfile.mkstemp(suffix='.xml', prefix='cascadenik-mapnik-')
      os.close(handle)
      mapnik.save_map(mmap, tmp_file)
      
      if kwargs.get('pretty'):
          doc = ElementTree.fromstring(open(tmp_file, 'rb').read())
          cascadenik._compile.indent(doc)
          f = open(tmp_file, 'wb')
          ElementTree.ElementTree(doc).write(f)
          f.close()
          
      # manually unlinking seems to be required on windows
      if os.path.exists(dest_file):
          os.unlink(dest_file)
  
      os.chmod(tmp_file, 0666^os.umask(0))
      shutil.move(tmp_file, dest_file)
      return 0
docs: Given an input layers file and a directory, print the compiled
          XML file to stdout and save any encountered external image files
          to the named directory.