2016-08-02 5 views
0

Я пишу сценарий обновления для проекта, где удаленный код должен обновлять определенные файлы в соответствии с предоставленным номером версии.
Для этого в github создаются теги (релизы).
Теперь я хотел бы загрузить эти файлы так же, как и при фиксации тега, в котором указано имя версии.Как получить содержимое файла из определенного тега

>>> repo = github3.repository('Piletilevi', 'printsrv') 
>>> for tag in repo.tags(): 
     print(tag) 

0.2.0 
>>> for tag in repo.refs(): 
     print(tag) 

<Reference [refs/heads/master]> 
<Reference [refs/heads/support-0.1]> 
<Reference [refs/heads/1.0.0]> 
<Reference [refs/tags/0.2.0]> 

>>> for tag in repo.tags(): 
    print(tag.as_dict()['commit']['sha']) 

3322aa270ac921cd0d90cb7f543e8dd917fa3637 

ответ

1

Я только пару шагов от решения:

>>> for tag in repo.tags(): 
     if(tag.as_dict()['name'] == '0.2.0'): 
      sha = tag.as_dict()['commit']['sha'] 
      print(repo.file_contents('package.json', sha).decoded) 
+0

Кстати, вы еще можете просто сделать 'tag.name' вместо' tag.as_dict() [ 'имя'] ' и 'tag.commit ['sha']' вместо 'tag.as_dict() ['commit'] ['sha']'. –