Pygithub: Github.search_topics devuelve la lista de repositorios que arrojan un error al intentar obtener datos no definidos

Creado en 12 oct. 2018  ·  6Comentarios  ·  Fuente: PyGithub/PyGithub

Hola,

Estaba tratando de obtener una lista de repositorios con un tema específico y luego jugar con los atributos devueltos, pero los objetos del Repositorio devueltos en PaginatedList arrojan un error al intentar obtener datos desconocidos:

Traceback (most recent call last):
  File "github-crawler.py", line 6, in <module>
    print(i, repo.archive_url)
  File "/home/user/.local/lib/python3.6/site-packages/github/Repository.py", line 2407, in get_topics
    self.url + "/topics",
  File "/home/user/.local/lib/python3.6/site-packages/github/Repository.py", line 745, in url
    self._completeIfNotSet(self._url)
  File "/home/user/.local/lib/python3.6/site-packages/github/GithubObject.py", line 259, in _completeIfNotSet
    self._completeIfNeeded()
  File "/home/user/.local/lib/python3.6/site-packages/github/GithubObject.py", line 263, in _completeIfNeeded
    self.__complete()
  File "/home/user/.local/lib/python3.6/site-packages/github/GithubObject.py", line 268, in __complete
    self._url.value
  File "/home/user/.local/lib/python3.6/site-packages/github/Requester.py", line 262, in requestJsonAndCheck
    return self.__check(*self.requestJson(verb, url, parameters, headers, input, self.__customConnection(url)))
  File "/home/user/.local/lib/python3.6/site-packages/github/Requester.py", line 278, in __customConnection
    if not url.startswith("/"):
AttributeError: 'NoneType' object has no attribute 'startswith'

A continuación se muestra un ejemplo del código:

from github import Github

g = Github(per_page=300)
i = 1
for repo in g.search_topics('security'):
    print(i, repo.archive_url)
    i += 1

Puede probarse aquí: https://repl.it/repls/LawngreenPlushBetaversion

Medio ambiente:
Linux ubuntu 4.15.0-36-genérico x86_64 GNU / Linux
Python 3.6.6
PyGithub 1.43.2

¿Alguna ayuda con eso?
Y gracias

Comentario más útil

PR bienvenido

Todos 6 comentarios

Lo arreglaré más tarde: p

Quizás, el código incorrecto está aquí . @jacquerie

Quizás, el código incorrecto está aquí . @jacquerie

¿Uhm? No creo que haya contribuido con código a nada de esto ...

Solo echando un vistazo al código. Parece que search_topics está devolviendo una lista paginada de repositorios de GitHub, pero la API parece devolver una lista de temas, incluidas las siguientes propiedades:

  • nombre
  • nombre para mostrar
  • Breve descripción
  • descripción
  • creado por
  • liberado
  • Creado en
  • updated_at
  • Destacados
  • curado
  • puntaje

Creo que esta puede ser la raíz del problema.

Sí, de hecho, el punto final de la API / búsqueda / temas devuelve una lista de temas que están relacionados con la palabra clave proporcionada y no una lista de repositorios etiquetados con ese tema (lo cual es un poco confuso, ¿tal vez?).
En mi código utilicé los otros puntos finales de la API y funcionó bien.

Pero aún así, el método en PyGithub debería arreglarse.

PR bienvenido

¿Fue útil esta página
0 / 5 - 0 calificaciones