Halo,
Saya mencoba mengambil daftar repositori dengan topik tertentu dan kemudian bermain dengan atribut yang dikembalikan, tetapi objek Repositori yang dikembalikan di PaginationList membuat kesalahan saat mencoba mengambil data yang tidak dikenal:
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'
Di bawah ini adalah contoh kodenya:
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
Itu dapat diuji di sini: https://repl.it/repls/LawngreenPlushBetaversion
Lingkungan:
Linux ubuntu 4.15.0-36-generik x86_64 GNU/Linux
Python 3.6.6
PyGithub 1.43.2
Ada bantuan dengan itu?
Dan terimakasih
nanti saya perbaiki :p
Mungkin, kode yang salah ada di sini . @jacquerie
Mungkin, kode yang salah ada di sini . @jacquerie
Hmm? Saya rasa saya tidak berkontribusi kode untuk semua ini ...
Hanya melirik kode. Tampaknya search_topics mengembalikan daftar paginasi dari repositori GitHub, tetapi API tampaknya mengembalikan daftar topik, termasuk properti berikut:
Saya pikir ini mungkin akar masalah.
Ya memang, titik akhir API /search/topics mengembalikan daftar topik yang terkait dengan kata kunci yang disediakan dan bukan daftar repositori yang ditandai dengan topik itu (yang sedikit membingungkan, mungkin?).
Dalam kode saya, saya menggunakan titik akhir API lainnya dan itu berfungsi dengan baik.
Tapi tetap saja, metode di PyGithub harus diperbaiki.
PR selamat datang
Komentar yang paling membantu
PR selamat datang