Skip to content

Cria parte do utilitário para incluir DOI nos registros h e f de uma data bases#717

Merged
robertatakenaka merged 3 commits into
scieloorg:masterfrom
robertatakenaka:tk713
May 6, 2020
Merged

Cria parte do utilitário para incluir DOI nos registros h e f de uma data bases#717
robertatakenaka merged 3 commits into
scieloorg:masterfrom
robertatakenaka:tk713

Conversation

@robertatakenaka
Copy link
Copy Markdown
Member

@robertatakenaka robertatakenaka commented Apr 28, 2020

O que esse PR faz?

Cria o módulo cisis e testes para gerar comandos para atualizar uma dada base com dados de DOI (veja a proposta completa (não aprovada) em #713)

Onde a revisão poderia começar?

por commits

Como este poderia ser testado manualmente?

Dentro proc/scielo_doi, execute:

python setup.py test

Algum cenário de contexto que queira dar?

n/a

Screenshots

n/a

Quais são tickets relevantes?

#713

Referências

n/a

Cria o módulo cisis e testes para gerar comandos para atualizar uma dada base com dados de DOI
@robertatakenaka robertatakenaka changed the title [WIP] Aplicativo para incluir DOI nos registros h e f de uma data bases [WIP] Utilitário para incluir DOI nos registros h e f de uma data bases Apr 28, 2020
@robertatakenaka robertatakenaka changed the title [WIP] Utilitário para incluir DOI nos registros h e f de uma data bases Parte do Utilitário para incluir DOI nos registros h e f de uma data bases May 4, 2020
@robertatakenaka robertatakenaka changed the title Parte do Utilitário para incluir DOI nos registros h e f de uma data bases Cria parte do utilitário para incluir DOI nos registros h e f de uma data bases May 4, 2020
Copy link
Copy Markdown

@patymori patymori left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fiz somente uma observação. Tentei rodar o teste com o comando descrito no PR mas não funcionou. Tive que informar o módulo tests.test_cisis especificamente para rodar.

Comment thread proc/scielo_doi/app/cisis.py Outdated
Retorna a "proc" que atualiza
os campos v91 (data) e v92 (hora) da atualização
"""
now = datetime.now().isoformat()
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ao invés de retirar os traços e dois pontos do resultado de isoformat, não seria melhor usar strftime e definir o formato que você precisa?

@jamilatta
Copy link
Copy Markdown
Contributor

@robertatakenaka valiadndo esse PR.

@gustavofonseca gustavofonseca self-requested a review May 5, 2020 13:14
Copy link
Copy Markdown
Contributor

@gustavofonseca gustavofonseca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A fim de facilitar a compreensão daqueles que não entendem de procs do cisis, sugiro que os valores utilizados como exemplos nos testes de unidade sejam modificados para que fiquem mais parecidos com os dados reais (fazendo com que DOIs se pareçam com 10.1590/1809-4392201902421 ao invés de foo).

Comment thread proc/scielo_doi/app/cisis.py Outdated
)


def proc_update_datetime(file_path):
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Se essa função passar a receber a data como argumento, ela se tornará uma função pura e será mais fácil testá-la. Não será mais necessário o uso de patch, por exemplo.

Comment thread proc/scielo_doi/tests/test_cisis.py Outdated
db = "base"
file_path = "xml/a.xml"
h_mfn = "4"
doi = "DOI"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No uso real o valor da variável doi seria algo como 10.1590/1809-4392201902421 ?

Comment thread proc/scielo_doi/tests/test_cisis.py Outdated
h_mfn = "4"
doi = "DOI"
doi_items = [
("pt", "doi_PT"),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No uso real os valores do índice 1 de cada tupla seria algo como 10.1590/1809-4392201902421-en?

Comment thread proc/scielo_doi/app/cisis.py
@gustavofonseca gustavofonseca removed their assignment May 5, 2020
@jamilatta
Copy link
Copy Markdown
Contributor

@robertatakenaka

Olhando a descrição do tíquete e a implementação não encontrei no código o trecho que realizar o "desligamento" da criação de DOIs por idioma, se existir poderia me indicar?

Veja no descrição da atividade, #713:

O utilitário deverá produzir um DOI para cada idioma, no caso de artigos com traduções. Este comportamento deverá poder ser desligado pelo usuário.

@jamilatta
Copy link
Copy Markdown
Contributor

jamilatta commented May 5, 2020

@robertatakenaka

Estou tentando realizar os testes porém estou recebendo o seguinte erro:

Captura de Tela 2020-05-05 às 13 46 31

Verifiquei que no arquivo de setup.py indica que o python deve ser em python >= 3.6.

Para resolver esse problema de rodar os testes verifiquei que é necessário criar o init.py dentro da pasta de tests, veja:

Captura de Tela 2020-05-05 às 13 50 54

Aí os testes rodaram, veja:

Captura de Tela 2020-05-05 às 13 51 32

Comment thread proc/scielo_doi/setup.py Outdated
@@ -0,0 +1,48 @@
#!/usr/bin/env python3
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@robertatakenaka

Recomendo uma limpeza de comentário e variáveis que não estão sendo utilizadas no setup.py

Copy link
Copy Markdown
Contributor

@jamilatta jamilatta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@robertatakenaka

Poderia, por gentileza, verificar os ajustes solicitados.

@robertatakenaka
Copy link
Copy Markdown
Member Author

"desligamento" da criação de DOIs por idioma, se existir poderia me indicar?

Por enquanto, isso é só parte do utilitário. Neste ponto só são algumas funções soltas. Não há nenhuma lógica, portanto não há neste momento o que ligar ou desligar.

Remove a restricao de versao do python
@robertatakenaka
Copy link
Copy Markdown
Member Author

@scieloorg/scielo-brazil-developers podem revisar novamente?

Copy link
Copy Markdown

@patymori patymori left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O código está OK, só precisa corrigir o teste que falhou:

Screen Shot 2020-05-06 at 09 18 13

Para um passo futuro, também seria bom incluir a execução dos testes unitários no CI.

Copy link
Copy Markdown
Contributor

@jamilatta jamilatta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@robertatakenaka todas as recomentações de ajuste que fiz ainda não foram realizadas sobre o arquivo init_.py para rodar os testes e a limpeza no setup.py.

Copy link
Copy Markdown
Contributor

@gustavofonseca gustavofonseca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Me parece bom. Só gostaria de chamar atenção para o fato de que muito provavelmente este código será executado em Python 2.7.

@robertatakenaka robertatakenaka merged commit 72d5273 into scieloorg:master May 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants