From 6f5282c7ed6e0924e1e6dd35b61a8d66e4fb2777 Mon Sep 17 00:00:00 2001
From: Cristian Weiland <cw14@inf.ufpr.br>
Date: Wed, 1 Feb 2017 10:20:02 -0200
Subject: [PATCH] Improve README and create argument number check in scripts

Signed-off-by: Cristian Weiland <cw14@inf.ufpr.br>
---
 README.md          | 18 ++++++++++++++++++
 insert_data.sh     |  6 +++++-
 resumo_cadastro.sh | 43 ++++++++++++++++---------------------------
 3 files changed, 39 insertions(+), 28 deletions(-)

diff --git a/README.md b/README.md
index e69de29..64ac6cc 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1,18 @@
+Projeto utilizando ElasticSearch + Kibana na tentativa de auxiliar a transparência da Universidade Federal do Paraná (UFPR).
+
+Árvore de Diretórios:
+
+.
+├── Dados\_Servidores - Contém uma diretório para cada mês.
+│   ├── 2016-12 - Diretório que contém os CSVs referentes a Dezembro de 2016.
+│   ├── 2016-11 - Diretório que contém os CSVs referentes a Novembro de 2016.
+│   ├── ...
+│   └── Processados - Diretório que contém CSVs resultantes da união de CSVs do portal transparência.
+├── configs - Diretório com arquivos de configuração para unir CSVs do portal transparência em um só, que é inserido no Kibana/ElasticSearch.
+├── config.json.example - Exemplo de arquivo do diretório 'configs'.
+├── logstash\_configs - Diretório com arquivos de configuração do Logstash para inserção de dados no Kibana/ElasticSearch.
+├── logstash\_config.example - Exemplo de arquivo do diretório 'logstash\_configs'. É usado pelo script 'create\_config.py' para gerar o arquivo de configuração do logstash.
+├── create\_config.py - Script que cria arquivos de configuração que ficam contidos nos diretórios 'configs' e 'logstash\_configs'.
+├── resumo\_cadastro.sh - Script que filtra dados do CSV de Cadastro do Portal Transparência, selecionando dados das Universidades interessantes para este projeto.
+├── merge\_files\_es.py - Script que usa um arquivo de configuração do diretório 'configs' para unir dois CSVs (Cadastro e Remuneração) do portal transparência em um só e salvá-lo no diretório Dados\_Servidores/Processados
+└── insert\_data.sh - Script que gerencia os outros scripts.
diff --git a/insert_data.sh b/insert_data.sh
index 01a6924..d1dc65f 100755
--- a/insert_data.sh
+++ b/insert_data.sh
@@ -1,6 +1,10 @@
 #!/bin/bash
 
-echo "Usage: $0 <year> <month> <day>"
+if [ "$#" -ne 3 ]; then
+	echo "Usage: $0 <year> <month> <day>"
+	echo "Example: $0 2016 12 01"
+	exit
+fi
 
 ./create_config.py $1 $2 $3
 ./merge_files_es.py configs/config-${1}-${2}.json
diff --git a/resumo_cadastro.sh b/resumo_cadastro.sh
index d79d524..532d791 100755
--- a/resumo_cadastro.sh
+++ b/resumo_cadastro.sh
@@ -2,41 +2,30 @@
 path=$1
 date=$2
 
+if [ "$#" -ne 2 ]; then
+	echo "Usage: $0 <path> <date>"
+	exit
+fi
+
 echo "Processing data with args = ${path} and ${date}"
 
 input="${path}${date}_Cadastro.csv"
 output="${path}${date}_Cadastro_Ufpr_Unique.csv"
 
-# Outubro 2016
-# input="Dados_Servidores/2016-10/20161031_Cadastro.csv"
-# output="Dados_Servidores/2016-10/cadastro_2016-10-31_filters_ufpr_unique.csv"
-
-# For now, this does not work. It does not create a properly CSV.
 columns="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"
-#columns="1,2,23,24"
-#columns="1"
-
-#cat $input | grep --binary-files=text "UNIVERSIDADE FEDERAL DO PARANA" | cut -f $columns | sort | uniq > $output
 
-# The same as above, but wrap fields in double quotes.
-#cat $input | grep --binary-files=text "UNIVERSIDADE FEDERAL DO PARANA" | cut -f $columns | sort | uniq | sed -e 's/"//g' -e 's/^\|$/"/g' -e 's/\t/"\t"/g' > $output
-# Sed wraps fields in double quotes. Grep removes everyone that does not work in UFPR. Cut selects the important columns. Uniq removes repeated values. Tr removes null characters (ctrl + @).
-#cat $input | grep --binary-files=text "UNIVERSIDADE FEDERAL DO PARANA" | cut -f $columns | sort | uniq | sed -e 's/"//g' -e 's/^\|$/"/g' -e 's/\t/"\t"/g' | tr -d '\000' > $output
+# About this command:
+# - Sed wraps fields in double quotes.
+# - Grep removes everyone that does not work in UFPR.
+# - Cut selects the important columns.
+# - Uniq removes repeated values.
+# - Tr removes null characters (ctrl + @).
 
-# Parece funcionar, mas pra todas as Universidades
+# Get data from all universities.
 #cat $input | egrep --binary-files=text "(UNIVERSIDADE FED*|Id_SERVIDOR_PORTAL	NOME)" | sed -e 's/"//g' -e 's/^\|$/"/g' -e 's/\t/"\t"/g' | tr -d '\000' > $output
 
-#cat $input | egrep --binary-files=text "(UNIVERSIDADE FEDERAL DO PARANA|Id_SERVIDOR_PORTAL	NOME)" | sed -e 's/"//g' -e 's/^\|$/"/g' -e 's/\t/"\t"/g' | tr -d '\000' > $output
-#Mesmo que de cima, mas sem wrapar com "
-cat $input | egrep --binary-files=text "(UNIVERSIDADE FEDERAL DO PARANA|Id_SERVIDOR_PORTAL	NOME)" | tr -d '\000' > $output
+# Get data only from UFPR, and wraps it in double quotes (").
+# cat $input | egrep --binary-files=text "(UNIVERSIDADE FEDERAL DO PARANA|Id_SERVIDOR_PORTAL	NOME)" | sed -e 's/"//g' -e 's/^\|$/"/g' -e 's/\t/"\t"/g' | tr -d '\000' > $output
 
-# +--------+---------------------+--------------------------------+
-# | Column | Contains            | Example                        |
-# +--------+---------------------+--------------------------------+
-# | 1      | Id_SERVIDOR_PORTAL  | 1000021                        |
-# | 2      | NOME                | MARIA AUREA DOS SANTOS RIBEIRO |
-# | 24     | COD_ORG_LOTACAO     | 26241                          |
-# | 25     | ORG_LOTACAO         | UNIVERSIDADE FEDERAL DO PARANA |
-# | 29     | UORG_EXERCICIO      | BL - DEPARTAMENTO DE GENETICA  | Parece que é a coluna 23 na verdade...
-# | 33     | JORNADA_DE_TRABALHO | 40 HORAS SEMANAIS              |
-# +--------+---------------------+--------------------------------+
+# Same as above, but does not wrap data in double quotes (").
+cat $input | egrep --binary-files=text "(UNIVERSIDADE FEDERAL DO PARANA|Id_SERVIDOR_PORTAL	NOME)" | tr -d '\000' > $output
-- 
GitLab