code: def unique_filename(**kwargs):
      
      if 'dir' not in kwargs:
          path = temp_dir('impacts')
          kwargs['dir'] = path
      else:
          path = temp_dir(kwargs['dir'])
          kwargs['dir'] = path
      if not os.path.exists(kwargs['dir']):
          # Ensure that the dir mask won't conflict with the mode
          # Umask sets the new mask and returns the old
          umask = os.umask(0000)
          # Ensure that the dir is world writable by explicitly setting mode
          os.makedirs(kwargs['dir'], 0o777)
          # Reinstate the old mask for tmp dir
          os.umask(umask)
      # Now we have the working dir set up go on and return the filename
      handle, filename = mkstemp(**kwargs)
  
      # Need to close it using the file handle first for windows!
      os.close(handle)
      try:
          os.remove(filename)
      except OSError:
          pass
      return filename
docs: Create new filename guaranteed not to exist previously
  
      Use mkstemp to create the file, then remove it and return the name
  
      If dir is specified, the tempfile will be created in the path specified
      otherwise the file will be created in a directory following this scheme:
  
      :file:'/tmp/inasafe/<dd-mm-yyyy>/<user>/impacts'
  
      See http://docs.python.org/library/tempfile.html for details.
  
      Example usage:
  
      tempdir = temp_dir(sub_dir='test')
      filename = unique_filename(suffix='.foo', dir=tempdir)
      print filename
      /tmp/inasafe/23-08-2012/timlinux/test/tmpyeO5VR.foo
  
      Or with no preferred subdir, a default subdir of 'impacts' is used:
  
      filename = unique_filename(suffix='.shp')
      print filename
      /tmp/inasafe/23-08-2012/timlinux/impacts/tmpoOAmOi.shp