获取提交者电子邮件
Getting committer emails
我正在尝试将项目提交者的电子邮件地址获取到特定文件。创建查询以在符合特定条件的存储库列表中查找代码文件后,我以 code_results(类型为 CodeSearchResult)的形式得到正确的结果。现在尝试访问提交信息,我执行以下操作
for code_result in code_results:
repository = code_result.repository
file_path = code_result.path
commits = repository.commits(path=file_path)
for commit in commits:
if commit.committer is not None:
print commit.committer
问题是尝试通过 commit.committer.email 获取电子邮件总是 returns None 即使文档说提交包含提交者的电子邮件。我还尝试了作者而不是提交者,因为文档说作者是包含电子邮件的字典,但我不确定字典键是什么。
谢谢!
许多 GitHub 的端点 return 仅列出 return 列表中的部分对象。老实说,提交者或作者会成为 None 很奇怪,但您可以尝试这样做:
for commit in commits:
commit = commit.refresh()
if commit.committer is not None:
print commit.committer
也就是说,在针对 github3.py 进行测试时,我无法重现此问题。我做到了
repository = github3.repository('sigmavirus24', 'github3.py')
for commit in repository.commits(path='setup.py'):
print(commit.committer)
print(commit.author)
除了一个提交之外,两个都始终存在。那是来自 this commit,用户没有 GitHub 帐户。也就是说,然后我可以检查 commit.commit
以获取有关 git 提交对象本身的原始数据。它同时具有 committer
和 author
对象,请参阅
>>> commit.commit.committer
{u'date': u'2013-09-05T02:23:17Z', u'name': u'Barry Morrison and Ian Cordasco', u'email': u'graffatcolmingov+bmorriso@gmail.com'}
>>> commit.commit.author
{u'date': u'2013-09-05T02:23:17Z', u'name': u'Barry Morrison and Ian Cordasco', u'email': u'graffatcolmingov+bmorriso@gmail.com'}
我正在尝试将项目提交者的电子邮件地址获取到特定文件。创建查询以在符合特定条件的存储库列表中查找代码文件后,我以 code_results(类型为 CodeSearchResult)的形式得到正确的结果。现在尝试访问提交信息,我执行以下操作
for code_result in code_results:
repository = code_result.repository
file_path = code_result.path
commits = repository.commits(path=file_path)
for commit in commits:
if commit.committer is not None:
print commit.committer
问题是尝试通过 commit.committer.email 获取电子邮件总是 returns None 即使文档说提交包含提交者的电子邮件。我还尝试了作者而不是提交者,因为文档说作者是包含电子邮件的字典,但我不确定字典键是什么。
谢谢!
许多 GitHub 的端点 return 仅列出 return 列表中的部分对象。老实说,提交者或作者会成为 None 很奇怪,但您可以尝试这样做:
for commit in commits:
commit = commit.refresh()
if commit.committer is not None:
print commit.committer
也就是说,在针对 github3.py 进行测试时,我无法重现此问题。我做到了
repository = github3.repository('sigmavirus24', 'github3.py')
for commit in repository.commits(path='setup.py'):
print(commit.committer)
print(commit.author)
除了一个提交之外,两个都始终存在。那是来自 this commit,用户没有 GitHub 帐户。也就是说,然后我可以检查 commit.commit
以获取有关 git 提交对象本身的原始数据。它同时具有 committer
和 author
对象,请参阅
>>> commit.commit.committer
{u'date': u'2013-09-05T02:23:17Z', u'name': u'Barry Morrison and Ian Cordasco', u'email': u'graffatcolmingov+bmorriso@gmail.com'}
>>> commit.commit.author
{u'date': u'2013-09-05T02:23:17Z', u'name': u'Barry Morrison and Ian Cordasco', u'email': u'graffatcolmingov+bmorriso@gmail.com'}