Pygithub: Github.search_topics mengembalikan daftar repo yang menimbulkan kesalahan saat mencoba mengambil data yang tidak ditentukan

Dibuat pada 12 Okt 2018  ·  6Komentar  ·  Sumber: PyGithub/PyGithub

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

Komentar yang paling membantu

PR selamat datang

Semua 6 komentar

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:

  • nama
  • nama tampilan
  • Deskripsi Singkat
  • keterangan
  • dibuat oleh
  • dilepaskan
  • dibuat di
  • diperbarui_at
  • unggulan
  • dikuratori
  • skor

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

Apakah halaman ini membantu?
0 / 5 - 0 peringkat