GeovaneSchmitz / sigaa-api

Unofficial high performance API for SIGAA (Sistema Integrado de Gestão de Atividades Acadêmicas) using web scraping.
MIT License
39 stars 11 forks source link

Questão sobre o tamanho da tabela de notas no getGrades() #6

Closed dduartee closed 3 years ago

dduartee commented 3 years ago

Olá, eu estava com um problema ao usar o getGrades em uma matéria, recebendo o erro:

Error: SIGAA: Received empty table on grade page.
    at SigaaCourseStudent.getGrades (C:\Users\Duarte\Desktop\sigaa14\node_modules\sigaa-api\src\courses\sigaa-course-student.ts:1610:13)
    at processTicksAndRejections (node:internal/process/task_queues:93:5)
    at main (C:\Users\Duarte\Desktop\sigaa14\index.js:73:19)

src/courses/sigaa-course-student.ts

const table = page.$('table.tabelaRelatorio');
    if (table.length !== 1) throw new Error('SIGAA: Received empty table on grade page.');

Dizendo que a tabela estava vazia. Mas pelo o contrario, tinha 2 tabelas.

issue

Uma para as notas, e uma em relação a recuperação da nota.

Gostaria de saber sobre o if (table.length !== 1), porque !== 1 e não < 1. Fiz os testes aqui e substitui a condição, retornou normalmente a tabela das notas. Teria algum motivo em especifico para essa condição?

GeovaneSchmitz commented 3 years ago

Não sabia que tinha a possibilidade de ter mais de uma tabela :) Podemos trocar o if sim! Você poderia abrir um pull request, trocando o if para < 1?

Eu geralmente coloco a regra mais rigida, pois eu tento evitar que ele analize um pagina de formato insperado pensando que está correto. Por exemplo, neste caso, se tivesse uma outra tabela no topo, ele poderia achar que essa tabela é a que contem as notas e retornaria algo errado, assim ele retorna um erro pois ele não garante que vai ser algo correto, mas acho não tem problema mudar este if.

dduartee commented 3 years ago

Não sabia que tinha a possibilidade de ter mais de uma tabela :)

Eu também não sabia, levei um susto quando percebi que tinha 2 tabelas.

Você poderia abrir um pull request, trocando o if para < 1?

Claro, abri um pull request, o meu primeiro no caso, qualquer auxilio de como melhorar a pull, como por exemplo: o nome da branch, se devo explicar o motivo do pull...

GeovaneSchmitz commented 3 years ago

Aceitei o pull request!

Claro, abri um pull request, o meu primeiro no caso, qualquer auxilio de como melhorar a pull, como por exemplo: o nome da branch, se devo explicar o motivo do pull...

O nome da branch não tem tanta importância desde que o pull request explique, e como a sua explicação já está perfeita, está tudo ótimo. :)

dduartee commented 3 years ago

Beleza! valeu pelo aprendizado, vou fechar o issue