github文件更新时启动python脚本

时间:2018-07-12 02:49:06

标签: python github

我正在一个项目上,该项目依赖于github上其他人文件中的数据。我有一个python脚本,可以读取文件并准确提取我需要的文件,然后将其放入文件中。然后,我的主程序(在C ++中)从该文件读取以获取信息。但是,我需要一种很好的方式来知道github文件何时更新,以及何时更新,我需要python脚本来运行。我愿意使用其他语言,但是如果我可以继续使用python,则更愿意。谢谢。

1 个答案:

答案 0 :(得分:0)

要在GitHub上的仓库中获取通知,您可以设置Git Hooks。如果您没有管理员权限,则可以使用GitHub File Watcher,它将向您发送电子邮件。

我将使用的解决方案:

创建一个可以每小时运行一次的作业。这将查看您的特定文件(在存储库中找到该文件,然后单击“原始”,这样您将获得如下链接:https://raw.githubusercontent.com/XXX/YYY/ZZZ/somefile.json

作业将获取此文件并为其创建哈希-然后检查作业的上一次运行中的哈希-哈希更改时,您的文件已更改。

另一种解决方案可能是您在Github存储库中抓取文件并找到最新的提交ID,并根据上一次运行的提交ID进行检查... 例: https://github.com/Netflix/.../CassAstyanaxPlugin.java Image showing the latest commit id on Github file

此链接具有唯一的类名称commit-tease-sha,您可以使用正则表达式来查找。 整个元素是:

<a class="commit-tease-sha" href="/Netflix/ndbench/commit/453697d62b1bb94f9f46299a931d04b3f77761a9" data-pjax="">453697d</a>

Image showing the anchor tag with unique class name

453697d62b1bb94f9f46299a931d04b3f77761a9是您要检查的内容。

希望这会有所帮助。祝你好运:-)