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
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:
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
Comentario más útil
PR bienvenido