Получите все содержимое файла репо в конкретном коммите, используя PyGitHub

Я хочу получить содержимое всех файлов в репо [измененные и неизмененные], используя Python [PyGitHub API]. Но не уверен, как этого добиться. Просто, чтобы просмотреть репо с этим конкретным идентификатором фиксации в истории.

Есть ли другой API для получения необходимых данных? или можно сделать с помощью самого PyGitHub.

Примечание. Я использую Github API v3.


person lucifer7    schedule 03.12.2019    source источник


Ответы (1)


Если вы не загружаете слишком большой файл (более 1 МБ), как показано в PyGithub/PyGithub/ проблема 661, идея состоит в том, чтобы:

  • запрашивать содержимое репозитория при определенной фиксации
  • получить файлы, возвращенные первым вызовом

То есть:

contents = repository.get_dir_contents(urllib.parse.quote(server_path), ref=sha)

Затем:

for content in contents:
   if content.type != 'dir':
     file_content = repository.get_contents(urllib.parse.quote(content.path), ref=sha)
     // or
     file_content = repository.get_git_blob(content.sha)
person VonC    schedule 03.12.2019