示例#1
0
class GitTestRepo:
    def __init__(self, token, repo_name):
        self.token = token
        self.repo_name = repo_name
        self.repo = Github(self.token).get_repo(repo_name)

    def create_and_tag(self, author, filename, data_frame, tag_name,
                       branch_name):
        self.repo.create_file(filename, "initial creation",
                              data_frame.to_csv())
        fetched_file = self.repo.get_contents(filename, ref=branch_name)
        data = fetched_file.decoded_content.decode("utf-8")
        commit = push(author, self.repo, filename, "commit message", data,
                      branch_name)
        gtag = self.repo.create_git_tag(tag=str(tag_name),
                                        message="initial load",
                                        object=commit.sha,
                                        type="commit",
                                        tagger=author)
        print('Created new file {} with tag {}'.format(filename, tag_name))
        self.repo.create_git_ref('refs/tags/{}'.format(gtag.tag), gtag.sha)