bringAndCopyLookerFiles <- function(f, overwrite.bringme=over, overwrite.looker=over, over=TRUE, recursive=FALSE, folder_looker="~/Development/Looks", rsync=TRUE, tower=TRUE) {
  stopifnot(file.exists(folder_looker) && isdir(folder_looker))

  bringme(f, overwrite=TRUE, recursive=recursive, rsync=rsync)
  if (!file.exists(f))
    stop("something went wrong... file '", f, "' does not exist")

  if (any(isdir(f)) && !all(isdir(f)))
    stop("Brought the files over, but some are folders and some are not, so cannot proceed with copy")

  if (any(!isdir(f)))
    files <- f
  else
    files <- dir(f, full=TRUE)

  ## Copy them over
  file.copy(files, folder_looker, overwrite=overwrite.looker, recursive=recursive)

  ## Check if copied
  ret <- emptylist(files)
  for (file in files) {
    if (!(ret[[file]] <- file.exists(as.path(folder_looker, basename(file)))))
      warning("File appears to have not been copied to looker folder: '", path.unexpand(file), "'", call.=FALSE)
  }

  names(ret) <- path.unexpand(names(ret)) %>% gsub("^~rsaporta/", "~/", .)

  if (tower)
    .o("/Applications/Tower 2.0.app")
  
  return(ret)
}

