-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path2_arvoredeworkflow.R
More file actions
56 lines (47 loc) · 1.95 KB
/
2_arvoredeworkflow.R
File metadata and controls
56 lines (47 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#--------------------------------------------------------------------------#
#
# Nome do Script: arvoredeworkflow
#
# Objetivo: Irá encontrar todas as pastas e arquivos do projeto e gerar uma árvore de diretórios
#
# Autor: Ricardo Theodoro
# Email: rtheodoro@usp.br
# Data da criação: 2024-06-06
#
#--------------------------------------------------------------------------#
#
# Notas:
#
#--------------------------------------------------------------------------#
options(scipen = 6, digits = 4)
#--------------------------------------------------------------------------#
# Definir arquivo de saida
arquivo_saida <- "md_2_workflow_arvore.md"
# Funções -----------------------------------------------------------------
# Função para gerar a árvore do workflow
gerar_arvore_workflow <- function(diretorio_raiz, arquivo_saida) {
# Função recursiva para construir a árvore
construir_arvore <- function(diretorio, nivel = 0) {
conteudo <- fs::dir_ls(diretorio, all = TRUE)
arvore <- character()
for (item in conteudo) {
nome <- fs::path_file(item)
indentacao <- strrep(" ", nivel)
if (fs::is_dir(item)) {
arvore <- c(arvore, glue::glue("{indentacao}- {nome}/"))
arvore <- c(arvore, construir_arvore(item, nivel + 1))
} else {
arvore <- c(arvore, glue::glue("{indentacao}- {nome}"))
}
}
return(arvore)
}
# Construir a árvore a partir do diretório raiz
arvore_workflow <- construir_arvore(diretorio_raiz)
# Escrever a árvore em um arquivo Markdown
readr::write_lines(c("# Workflow \n\n Esta árvore do workflow mostra a estrutura dos diretórios e arquivos em todo o projeto.\n\n", arvore_workflow), arquivo_saida)
cat("Árvore do workflow gerada com sucesso em:", arquivo_saida, "\n")
}
# Aplicação ----------------------------------------------------------------
# Chamar a função para gerar a árvore do workflow
gerar_arvore_workflow(diretorio, arquivo_saida)