yt-dlp: incorrect visibility on parameters
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 5.1k
- Forks
- 2.1k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 82
Descripción
_Params should be public. Submitting a normal dict as a file will mismatch with the TypedDict because the type-checker will infer dict[str,bool] instead of _Params. See the example snippet:
def fetch_channel_info(channel: str) -> tuple[str, str, list[str]]:
"""Return (channel_id, channel_handle, video_ids)."""
opts = {"quiet": True, "extract_flat": True}
with yt_dlp.YoutubeDL(opts) as ydl:
info = ydl.extract_info(channel, download=False)
which results in
├╴E Argument of type "dict[str, bool]" cannot be assigned to parameter "params" of type "_Params | None" in function "__init__"
│ Type "dict[str, bool]" is not assignable to type "_Params | None"
│ "dict[str, bool]" is not assignable to "_Params"
│ "dict[str, bool]" is not assignable to "None" basedpyright (reportArgumentType) [48, 27]
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza en el stub de yt-dlp para el punto de entrada YoutubeDL, especialmente en la anotación del parámetro de init y la definición de _Params. Comprueba cómo se expone el tipo del parámetro y cómo un dict normal es inferido por un comprobador de tipos. Se considera terminado cuando el diccionario de opciones de ejemplo es aceptado sin el error de tipo de argumento indicado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 76/100