Skip to content

Commit

Permalink
🔥 Removed municipios.json and simplified some code
Browse files Browse the repository at this point in the history
  • Loading branch information
ronaldokun committed Apr 19, 2022
1 parent fb758af commit c25573e
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 71 deletions.
22 changes: 14 additions & 8 deletions docs/redmine.html
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@

<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Valida%C3%A7%C3%A3o-e-Formata%C3%A7%C3%A3o">Valida&#231;&#227;o e Formata&#231;&#227;o<a class="anchor-link" href="#Valida%C3%A7%C3%A3o-e-Formata%C3%A7%C3%A3o"> </a></h2>
<h2 id="Formata%C3%A7%C3%A3o">Formata&#231;&#227;o<a class="anchor-link" href="#Formata%C3%A7%C3%A3o"> </a></h2>
</div>
</div>
</div>
Expand Down Expand Up @@ -236,6 +236,12 @@ <h4 id="issue_type" class="doc_header"><code>issue_type</code><a href="https://g
</div>
{% endraw %}

<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Valida%C3%A7%C3%A3o">Valida&#231;&#227;o<a class="anchor-link" href="#Valida%C3%A7%C3%A3o"> </a></h2>
</div>
</div>
</div>
{% raw %}

<div class="cell border-box-sizing code_cell rendered">
Expand Down Expand Up @@ -287,7 +293,7 @@ <h2 id="Resgate-de-Informa%C3%A7%C3%B5es">Resgate de Informa&#231;&#245;es<a cla


<div class="output_markdown rendered_html output_subarea ">
<h4 id="auth_user" class="doc_header"><code>auth_user</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L418" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>auth_user</code>(<strong><code>username</code></strong>, <strong><code>password</code></strong>, <strong><code>teste</code></strong>=<em><code>True</code></em>, <strong><code>verify</code></strong>=<em><code>True</code></em>)</p>
<h4 id="auth_user" class="doc_header"><code>auth_user</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L417" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>auth_user</code>(<strong><code>username</code></strong>, <strong><code>password</code></strong>, <strong><code>teste</code></strong>=<em><code>True</code></em>, <strong><code>verify</code></strong>=<em><code>True</code></em>)</p>
</blockquote>

</div>
Expand All @@ -311,7 +317,7 @@ <h4 id="auth_user" class="doc_header"><code>auth_user</code><a href="https://git


<div class="output_markdown rendered_html output_subarea ">
<h4 id="issue2users" class="doc_header"><code>issue2users</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L433" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>issue2users</code>(<strong><code>insp</code></strong>:<code>str</code>, <strong><code>fiscaliza</code></strong>:<code>Redmine</code>)</p>
<h4 id="issue2users" class="doc_header"><code>issue2users</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L432" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>issue2users</code>(<strong><code>insp</code></strong>:<code>str</code>, <strong><code>fiscaliza</code></strong>:<code>Redmine</code>)</p>
</blockquote>
<p>Recebe objeto Redmine <code>fiscaliza</code> e string <code>insp</code> e retorna um dicionário com os usuários do grupo Inspeção-Execução</p>

Expand All @@ -336,7 +342,7 @@ <h4 id="issue2users" class="doc_header"><code>issue2users</code><a href="https:/


<div class="output_markdown rendered_html output_subarea ">
<h4 id="insp2acao" class="doc_header"><code>insp2acao</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L456" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>insp2acao</code>(<strong><code>insp</code></strong>:<code>str</code>, <strong><code>fiscaliza</code></strong>:<code>Redmine</code>)</p>
<h4 id="insp2acao" class="doc_header"><code>insp2acao</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L455" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>insp2acao</code>(<strong><code>insp</code></strong>:<code>str</code>, <strong><code>fiscaliza</code></strong>:<code>Redmine</code>)</p>
</blockquote>
<p>Recebe o objeto <code>fiscaliza</code> e a string referente à inspeção <code>insp</code> e retorna um dicionário resumo da Ação atrelada à inspeção</p>
<p>Args:
Expand Down Expand Up @@ -375,7 +381,7 @@ <h4 id="insp2acao" class="doc_header"><code>insp2acao</code><a href="https://git


<div class="output_markdown rendered_html output_subarea ">
<h4 id="utf2ascii" class="doc_header"><code>utf2ascii</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L506" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>utf2ascii</code>(<strong><code>s</code></strong>)</p>
<h4 id="utf2ascii" class="doc_header"><code>utf2ascii</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L501" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>utf2ascii</code>(<strong><code>s</code></strong>)</p>
</blockquote>

</div>
Expand All @@ -399,7 +405,7 @@ <h4 id="utf2ascii" class="doc_header"><code>utf2ascii</code><a href="https://git


<div class="output_markdown rendered_html output_subarea ">
<h4 id="detalhar_issue" class="doc_header"><code>detalhar_issue</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L511" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>detalhar_issue</code>(<strong><code>inspecao</code></strong>:"Número da Inspeção a ser relatada", <strong><code>login</code></strong>:"Login Anatel do Usuário"=<em><code>None</code></em>, <strong><code>senha</code></strong>:"Senha Utilizada nos Sistemas Interativos da Anatel"=<em><code>None</code></em>, <strong><code>fiscaliza</code></strong>:"Objeto Redmine logado, opcional ao login e senha"=<em><code>None</code></em>, <strong><code>teste</code></strong>:"Indica se o relato será de teste"=<em><code>True</code></em>)</p>
<h4 id="detalhar_issue" class="doc_header"><code>detalhar_issue</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L506" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>detalhar_issue</code>(<strong><code>inspecao</code></strong>:"Número da Inspeção a ser relatada", <strong><code>login</code></strong>:"Login Anatel do Usuário"=<em><code>None</code></em>, <strong><code>senha</code></strong>:"Senha Utilizada nos Sistemas Interativos da Anatel"=<em><code>None</code></em>, <strong><code>fiscaliza</code></strong>:"Objeto Redmine logado, opcional ao login e senha"=<em><code>None</code></em>, <strong><code>teste</code></strong>:"Indica se o relato será de teste"=<em><code>True</code></em>)</p>
</blockquote>
<p>Recebe número da inspeção <code>inspecao</code>, o login e senha ou opcionalmente objeto Redmine logado <code>fiscaliza</code>
inspecao: str - Número da Inspeção a ser relatada
Expand Down Expand Up @@ -452,7 +458,7 @@ <h2 id="Atualiza%C3%A7%C3%A3o-de-Inspe%C3%A7%C3%A3o">Atualiza&#231;&#227;o de In


<div class="output_markdown rendered_html output_subarea ">
<h4 id="atualiza_fiscaliza" class="doc_header"><code>atualiza_fiscaliza</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L594" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>atualiza_fiscaliza</code>(<strong><code>insp</code></strong>:<code>str</code>, <strong><code>fields</code></strong>:<code>dict</code>, <strong><code>fiscaliza</code></strong>:<code>Redmine</code>, <strong><code>status</code></strong>:<code>str</code>)</p>
<h4 id="atualiza_fiscaliza" class="doc_header"><code>atualiza_fiscaliza</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L589" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>atualiza_fiscaliza</code>(<strong><code>insp</code></strong>:<code>str</code>, <strong><code>fields</code></strong>:<code>dict</code>, <strong><code>fiscaliza</code></strong>:<code>Redmine</code>, <strong><code>status</code></strong>:<code>str</code>)</p>
</blockquote>
<p>Atualiza a Inspeção <code>insp</code> para a Situação <code>status</code> com os dados do dicionário <code>fields</code></p>

Expand Down Expand Up @@ -491,7 +497,7 @@ <h4 id="atualiza_fiscaliza" class="doc_header"><code>atualiza_fiscaliza</code><a


<div class="output_markdown rendered_html output_subarea ">
<h4 id="relatar_inspecao" class="doc_header"><code>relatar_inspecao</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L642" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>relatar_inspecao</code>(<strong><code>inspecao</code></strong>:"Número da Inspeção a ser relatada", <strong><code>login</code></strong>:"Login Anatel do Usuário", <strong><code>senha</code></strong>:"Senha Utilizada nos Sistemas Interativos da Anatel", <strong><code>dados</code></strong>:"Dicionário já validado com os Dados a serem relatados", <strong><code>teste</code></strong>:"Indica se o relato será de teste"=<em><code>True</code></em>, <strong><code>parar_em</code></strong>:"String indicando até onde o relato deve ser avançado"=<em><code>'Relatada'</code></em>, <strong><code>substituir_relatorio</code></strong>:"Substituir o relatório criado caso houver?"=<em><code>False</code></em>)</p>
<h4 id="relatar_inspecao" class="doc_header"><code>relatar_inspecao</code><a href="https://github.com/ronaldokun/fiscaliza/tree/master/fiscaliza/redmine.py#L637" class="source_link" style="float:right">[source]</a></h4><blockquote><p><code>relatar_inspecao</code>(<strong><code>inspecao</code></strong>:"Número da Inspeção a ser relatada", <strong><code>login</code></strong>:"Login Anatel do Usuário", <strong><code>senha</code></strong>:"Senha Utilizada nos Sistemas Interativos da Anatel", <strong><code>dados</code></strong>:"Dicionário já validado com os Dados a serem relatados", <strong><code>teste</code></strong>:"Indica se o relato será de teste"=<em><code>True</code></em>, <strong><code>parar_em</code></strong>:"String indicando até onde o relato deve ser avançado"=<em><code>'Relatada'</code></em>, <strong><code>substituir_relatorio</code></strong>:"Substituir o relatório criado caso houver?"=<em><code>False</code></em>)</p>
</blockquote>
<p>Relata a inspeção <code>inspecao</code> com os dados constantes no dicionário <code>dados</code></p>

Expand Down
1 change: 0 additions & 1 deletion fiscaliza/files/municipios.json

This file was deleted.

42 changes: 12 additions & 30 deletions fiscaliza/redmine.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def journal2table(journal):
for j in journal.split("\n")
if j.strip() != ""
]
if not len(set([len(t) for t in table])) == 1:
if len({len(t) for t in table}) != 1:
print(
"O texto passado como notes, não está configurado corretamente para formatar uma tabela"
)
Expand Down Expand Up @@ -109,7 +109,6 @@ def issue_type(insp, fiscaliza):
return "Desconhecido"

# Cell
@call_parse
def validar_dicionario(
data_dict: Param("Dicionário de Dados ou Caminho para o arquivo .json"),
inspecao: Param("Número da Inspeção a ser relatada", str),
Expand Down Expand Up @@ -484,23 +483,19 @@ def insp2acao(insp: str, fiscaliza: Redmine) -> dict:
(tracker := getattr(issue_to_id, "tracker", None))
and (getattr(tracker, "id", None) == 2)
):
if (
description := getattr(issue_to_id, "custom_fields", None)
) is not None:
if description := description.get(ACAO_DESCRIPTION, None):
description = getattr(description, "value", "")
else:
description = ""
else:
if (description := getattr(issue_to_id, "custom_fields", None)) is None:
description = ""

elif description := description.get(ACAO_DESCRIPTION, None):
description = getattr(description, "value", "")
else:
description = ""
return {
"id_ACAO": getattr(issue_to_id, "id", ""),
"nome_ACAO": str(issue_to_id),
"descricao_ACAO": description,
}
else:
return {"id_ACAO": "", "nome_ACAO": "", "descricao_ACAO": ""}
return {"id_ACAO": "", "nome_ACAO": "", "descricao_ACAO": ""}


def utf2ascii(s):
Expand Down Expand Up @@ -728,21 +723,9 @@ def relatar_inspecao(
"Atualizando...",
spinner="runner",
):
# data = {k:v for k,v in dados.items() if k in STATUS[status]}
if status == "Relatada":
try:
atualiza_fiscaliza(inspecao, data, fiscaliza, status)
except ValidationError as e:
console.print(e)
raise ValidationError(repr(e)) from e
# f":black_nib: [bold red]Assine o Relatório de Monitoramento e chame a função novamente :exclamation:"
# )
else:
atualiza_fiscaliza(inspecao, data, fiscaliza, status)

atualiza_fiscaliza(inspecao, data, fiscaliza, status)
if status == "Relatada":
emoji = ":sunglasses:"

console.print(
f"{emoji} [cyan]Inspeção {inspecao} atualizada para [bold green]{status}"
)
Expand All @@ -754,8 +737,8 @@ def relatar_inspecao(
and not relatorio
): # Caso o relatório ainda conste nos dados verifica se já foi criado.
with console.status(
"Resgatando Situação Atual da Inspeção...", spinner="pong"
):
"Resgatando Situação Atual da Inspeção...", spinner="pong"
):
status_atual = detalhar_issue(
inspecao=inspecao, fiscaliza=fiscaliza, teste=teste
)
Expand All @@ -764,9 +747,8 @@ def relatar_inspecao(
)

if relatorio := status_atual.get("Relatorio_de_Monitoramento"):
console.print(
f"[bold red] :warning: Já existe um Relatório de Monitoramento criado, esse campo não será atualizado nesta chamada :warning:"
)
console.print("[bold red] :warning: Já existe um Relatório de Monitoramento criado, esse campo não será atualizado nesta chamada :warning:")

del data["Html"]

with console.status(
Expand Down
54 changes: 22 additions & 32 deletions nbs/redmine.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
"id": "c7bd33d3",
"metadata": {},
"source": [
"## Validação e Formatação"
"## Formatação"
]
},
{
Expand All @@ -100,7 +100,7 @@
" for j in journal.split(\"\\n\")\n",
" if j.strip() != \"\"\n",
" ]\n",
" if not len(set([len(t) for t in table])) == 1:\n",
" if len({len(t) for t in table}) != 1:\n",
" print(\n",
" \"O texto passado como notes, não está configurado corretamente para formatar uma tabela\"\n",
" )\n",
Expand Down Expand Up @@ -169,6 +169,14 @@
" return \"Desconhecido\""
]
},
{
"cell_type": "markdown",
"id": "4b4565b6",
"metadata": {},
"source": [
"## Validação"
]
},
{
"cell_type": "code",
"execution_count": null,
Expand All @@ -177,7 +185,6 @@
"outputs": [],
"source": [
"#export\n",
"@call_parse\n",
"def validar_dicionario(\n",
" data_dict: Param(\"Dicionário de Dados ou Caminho para o arquivo .json\"),\n",
" inspecao: Param(\"Número da Inspeção a ser relatada\", str),\n",
Expand Down Expand Up @@ -568,23 +575,19 @@
" (tracker := getattr(issue_to_id, \"tracker\", None))\n",
" and (getattr(tracker, \"id\", None) == 2)\n",
" ):\n",
" if (\n",
" description := getattr(issue_to_id, \"custom_fields\", None)\n",
" ) is not None:\n",
" if description := description.get(ACAO_DESCRIPTION, None):\n",
" description = getattr(description, \"value\", \"\")\n",
" else:\n",
" description = \"\"\n",
" else:\n",
" if (description := getattr(issue_to_id, \"custom_fields\", None)) is None:\n",
" description = \"\"\n",
"\n",
" elif description := description.get(ACAO_DESCRIPTION, None):\n",
" description = getattr(description, \"value\", \"\")\n",
" else:\n",
" description = \"\"\n",
" return {\n",
" \"id_ACAO\": getattr(issue_to_id, \"id\", \"\"),\n",
" \"nome_ACAO\": str(issue_to_id),\n",
" \"descricao_ACAO\": description,\n",
" }\n",
" else:\n",
" return {\"id_ACAO\": \"\", \"nome_ACAO\": \"\", \"descricao_ACAO\": \"\"}\n",
" return {\"id_ACAO\": \"\", \"nome_ACAO\": \"\", \"descricao_ACAO\": \"\"}\n",
"\n",
"\n",
"def utf2ascii(s):\n",
Expand Down Expand Up @@ -850,22 +853,10 @@
" with console.status(\n",
" \"Atualizando...\",\n",
" spinner=\"runner\",\n",
" ):\n",
" # data = {k:v for k,v in dados.items() if k in STATUS[status]}\n",
" if status == \"Relatada\":\n",
" try:\n",
" atualiza_fiscaliza(inspecao, data, fiscaliza, status)\n",
" except ValidationError as e:\n",
" console.print(e)\n",
" raise ValidationError(repr(e)) from e\n",
" # f\":black_nib: [bold red]Assine o Relatório de Monitoramento e chame a função novamente :exclamation:\"\n",
" # )\n",
" else:\n",
" atualiza_fiscaliza(inspecao, data, fiscaliza, status)\n",
"\n",
" ): \n",
" atualiza_fiscaliza(inspecao, data, fiscaliza, status)\n",
" if status == \"Relatada\":\n",
" emoji = \":sunglasses:\"\n",
"\n",
" console.print(\n",
" f\"{emoji} [cyan]Inspeção {inspecao} atualizada para [bold green]{status}\"\n",
" )\n",
Expand All @@ -877,8 +868,8 @@
" and not relatorio\n",
" ): # Caso o relatório ainda conste nos dados verifica se já foi criado.\n",
" with console.status(\n",
" \"Resgatando Situação Atual da Inspeção...\", spinner=\"pong\"\n",
" ):\n",
" \"Resgatando Situação Atual da Inspeção...\", spinner=\"pong\"\n",
" ):\n",
" status_atual = detalhar_issue(\n",
" inspecao=inspecao, fiscaliza=fiscaliza, teste=teste\n",
" )\n",
Expand All @@ -887,9 +878,8 @@
" )\n",
"\n",
" if relatorio := status_atual.get(\"Relatorio_de_Monitoramento\"):\n",
" console.print(\n",
" f\"[bold red] :warning: Já existe um Relatório de Monitoramento criado, esse campo não será atualizado nesta chamada :warning:\"\n",
" )\n",
" console.print(\"[bold red] :warning: Já existe um Relatório de Monitoramento criado, esse campo não será atualizado nesta chamada :warning:\")\n",
"\n",
" del data[\"Html\"]\n",
"\n",
" with console.status(\n",
Expand Down

0 comments on commit c25573e

Please sign in to comment.