Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 3 commits into from
May 6, 2020

Conversation

robertatakenaka
Copy link
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
Contributor

@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.

Retorna a "proc" que atualiza
os campos v91 (data) e v92 (hora) da atualização
"""
now = datetime.now().isoformat()
Copy link
Contributor

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
Contributor

@robertatakenaka valiadndo esse PR.

@gustavofonseca gustavofonseca self-requested a review May 5, 2020 13:14
Copy link
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).

)


def proc_update_datetime(file_path):
Copy link
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.

db = "base"
file_path = "xml/a.xml"
h_mfn = "4"
doi = "DOI"
Copy link
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 ?

h_mfn = "4"
doi = "DOI"
doi_items = [
("pt", "doi_PT"),
Copy link
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?

proc/scielo_doi/app/cisis.py Show resolved Hide resolved
@gustavofonseca gustavofonseca removed their assignment May 5, 2020
@jamilatta
Copy link
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
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

@@ -0,0 +1,48 @@
#!/usr/bin/env python3
Copy link
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
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
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
Member Author

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

Copy link
Contributor

@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
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
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