Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Break apart Contents Abstraction

Abierto
#55 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
github, python
Área
api

Línea de trabajo

Comienza con GithubRepo.get_contents y la documentación enlazada de la GitHub Contents API; después, sigue sus llamadores para distinguir la intención de directorios y archivos. Define un comportamiento separado para directorios y archivos, incluido el raw-media fallback para archivos de entre 1MB y 100MB; el issue también requiere decidir si se deben admitir archivos de más de 100MB.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

We currently have GithubRepo.get_contents as an abstraction around GitHub's Contents API endpoint. However, this endpoint behaves differently depending on what you're asking it for, in particular:

  • a directory
  • a file
  • a file whose size is between 1MB and 100MB
  • a file whose size is above 100MB

The method tries to handle those all in one place and the flow suffers because of it.

Instead we should pick apart this abstraction into two, based on the caller's intent:

  • a directory
  • a file, with fallbacks for larger files

For instance, file content for files between 1MB and 100MB can be retrieved with the application/vnd.github.v3.raw custom media type (as the Accept header). Since we already want the metadata from the initial call (it's not provided with a raw call) this seems like a nice fallback. We can discuss whether we need to support retrieving file content which is >100MB.

Lenguaje dominante
Python
Estrellas
0
Forks
0
Merge medio
2 d 20 h
PR fusionados (30 d)
9

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de opensafely-core/osgithub

Todos los issues de opensafely-core/osgithub

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.