Skip to content
This repository has been archived by the owner on Apr 10, 2024. It is now read-only.

Proposta de adição - Listar turmas disponibilizadas #39

Open
Raphides opened this issue Mar 31, 2023 · 6 comments
Open

Proposta de adição - Listar turmas disponibilizadas #39

Raphides opened this issue Mar 31, 2023 · 6 comments

Comments

@Raphides
Copy link

Descrição

Na página /sigaa/public/turmas/listar.jsf dos SIGAAs, vemos uma página que lista cada disciplina oferencida de um determinado campus e período letivo. Esta página mostra dados interessantes de cada disciplina que podem ser interessantes de serem analisadas em diversas atividades de análise de dados, como:

  • Código
  • Nome
  • Turmas
  • Professores
  • Horários
  • Salas*
  • Vagas**

* Muitas salas estão como "A definir", o que atrapalha análises dessas informações.
** Pelo jeito, nem todos os SIGAAs e períodos letivos mostram as vagas que foram disponibilizadas.

Exemplo

Penso que a API possa gerar uma lista em JSON, do mesmo padrão da feita em em search.teacher().getCampusList(). Como uma espécie de search.getSubjectList(campus) ou algo parecido.

[
  {
    ID: "FCI0001",
    name: "TÓPICOS ESPECIAIS EM BIBLIOTECONOMIA E CIÊNCIA DA INFORMAÇÃO",
    turmas: [
                   {
                     ID: 1,
                     professor: "AILTON LUIZ GONCALVES FEITOSA",
                     local: "FCI - LEV",
                     horário: "6M1234"
                   },
                 ]
  },
]

Fonte do exemplo: https://sigaa.unb.br/sigaa/public/turmas/listar.jsf no dept de Faculdade de Ciência de Dados - 2023.1

Dificuldade Prevista

(To estudando ainda, então posso estar bem errado)

Dei uma olhada no código que há na API e acredito que não seja algo complicado de fazer. Não precisa de autenticação nenhuma, a parte provavelmente mais difícil deve ser o método http.POST que deve ser feito para que os resultados da pesquisa apareçam na página web. Esse método pelo que eu tinha visto precisa de um cookie do http.GET da página para não gerar erros, mas como vocês parecem já ter uma interface para a extração dos Cookies da página, deve ser simples.

Observações

Essa funcionalidade era algo que eu estava tentando fazer antes de conhecer o repositório. Assim que conheci, percebi que vocês têm muita mais estrutura que eu para de fato implementá-la, além de combinar muito com o intuito da API.

Espero que tenham gostado da proposta.

@dduartee
Copy link
Contributor

Gostei da ideia, inclusive poderiamos aproveitar e listar todos os câmpus da instituição, o método dos câmpus já existe no SigaaSearchTeacher mas não há o método na classe SigaaSearch.

@Raphides
Copy link
Author

Raphides commented Mar 31, 2023

Por enquanto abri uma Fork para ver se consigo implementar esta funcionalidade. Qualquer ajuda é bem vinda, já que não sou muito experiente em Typescript e requisições HTTP.

@dduartee
Copy link
Contributor

dduartee commented Mar 31, 2023

Umas semanas atrás, tiveram duas issues #36 e #31, que não estavam conseguindo usar a biblioteca, por causa da build do npm.
Veja se não dará nenhum erro...

Inclusive, sobre a issue #36, fiz uma branch que já está começando a se adequar ao UNB, mas ainda não completamente funcional.
Por enquanto desenvolva essa feature no seu fork e depois organizamos na hora do merge.

@Raphides
Copy link
Author

Raphides commented Apr 2, 2023

Gerou alguns erros durante os testes e umas mensagens de erros esquisitos durante a execução, mas o json foi formado sem problemas pelo que me parece. Só o erro dos testes que está me irritando, falei mais disso na nova issue #41

@dduartee
Copy link
Contributor

dduartee commented Apr 2, 2023

quais são as mensagens dos erros?

sobre o erro do decorator, um tempo atrás rodei os testes e vi que o target.kind no teste estava retornando undefined.
Resolvi tirar essa linha de verificação, pois não estava conseguindo resolver, mas vou estudar mais um pouco.

@Raphides
Copy link
Author

Raphides commented Apr 2, 2023

Foi mal, mas confesso que fui instalar novamente pelo npm e as mensagens de erro sumiram ;-;
Ainda bem que anotei as do decorador.

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants