Py学习  »  Python

利用Python编写Github!实现一个自动周报的生成器!最适合装逼

Python学习交流 • 5 年前 • 722 次点击  

 

二、关于自动周报脚本的故事

在实验楼中,所有的开发以及课程管理流程都是基于 Github 的。当我们的网站以及实验环境出现问题时,石头哥会将问题汇总发布到对应开发代码仓库的 issue 中,并指派开发人员进行修复。当需要上线一个新的 feature 时,石头哥也会重复这个操作,发布 feature 的 issue,并指派开发人员进行研发。对于课程的管理亦是如此,当有些课程中的实验版本有误或者某些文档中的措辞不准确时,我的上司也会将其修改的任务发布成 issue ,并指派给我们。

为了查看大家一周的工作量,石头哥培养了我们写周报的好习惯。在这一周中,我们每个修复了多少个 issue ,进行了多少次代码提交 commit,都要我们在周报中体现出来。好比这样:

 

 

 

当我们审核完某个课程的时候,就会在 comment 处发布我们的审核结构。

所以利用 Github 的 API,我们需要根据特定的仓库,来获取其 commit 或者 issue 中的 comment 记录,从而生成周报。我们在官方的 API 中找到了 commit 和 comment 文档:

 

  • PyGithub 是我们需要的库。

  • iPython 是一个交互式测试 Python 代码的工具,在之后测试 PyGithub 接口的时候,你会发现这个工具十分好用。

五、测试 PyGithub 接口,获取指定 repo 的 commite 记录

启动 iPython 导入 PyGithub 库,对其进行 Class 接口的测试。当然,测试的时候不是漫无目的的,可以根据PyGithub 官方文档 来尝试。

 

这样就获取到了自己所有的代码仓库列表。这是我们重要的一步尝试。因为我们的目标就是通过指定的 repo 从而获取到期对应的 commite 记录。

查看 PyGithub 的 Repository 对应文档 ,在这之中,可以查询到对应代码仓库的 commites 的 Get 方法:

 

我们可以看到,已经获取到了指定指定仓库指定时段提交的 commits 记录。至此我们的调试工作以及做完了一大部分。

六、实验总结

通过本章实验,学会了如何使用 PyGithub 的方法,学会了如何使用 iPython 进行局部代码调试。相信 iPython 交互式编程的方式将会在以后的 Python 开发之路上受益匪浅。

课后习题

  • 获取 issue 的 comment 内容

在本章中,我们已经将从指定 repo 中指定时间段内获取 commit 信息的功能实现。所以这里你需要的练习是从指定 repo 中指定 issue 内获取指定时间段内的 comment 信息。通过 iPython 调试出 API 的使用方法即可。

私信小编007即可获取数是要PDF哦!



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/JhUf2inn9G
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/21093
 
722 次点击