2013-06-20 38 views
4

我正在编写脚本以自动下载和更新已安装的Google App Engine SDK版本。我可以确定安装的版本。获取Google App Engine SDK的最新版本号

我目前需要做一个wget请求,并检查它是否返回404错误;实际上,这至少有2个请求,一个用于检查错误修复更新,另一个用于检查次要版本更新。

我想避免提出这些wget请求。为此,我需要确定SDK的最新版本(稳定版本,非预发行版本)。此信息是通过API还是其他可疑来源提供的?

+0

python开发服务器已经做到了这一点(检查最新版本)看看他们是如何做到这一点的代码。 –

+0

@TimHoffman我按照您的建议浏览了dev_appserve.py的代码,但它使用本地VERSION文件,这就是我如何获取安装的版本信息。这是来自代码的评论:“”“通过解析VERSION文件获取SDK的版本 –

+0

但是它会检查Google服务器上的当前版本以及它是否与当前安装的版本不同。想要不是吗? –

回答

4

python SDK在运行dev服务器时检查当前的SDK。发射器也有这个设施。

这将是我会使用的方法。

对于命令行SDK实现该支票是https://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/tools/sdk_update_checker.py的Python代码和你指出的代码发射器是https://code.google.com/p/google-appengine-wx-launcher/source/browse/trunk/launcher/app.py

代码执行的API RPC来http://appengine.google.com/api/updatecheck并得到一个YAML响应。因此,您可以使用该代码,甚至只需从sdk_checker导入SDKUpdateChecker即可。

+0

Curren tly这不起作用:当前的AppEngine SDK版本是1.9.17,但更新检查URL返回1.9.15。但是,该版本不再可供下载,导致我的脚本失败。你知道任何正在运行的解决方案吗(除了从网站的HTML中取出URL)吗? –

+0

您提到的问题已报告。没有迹象显示何时或如何修复。您可以在https://code.google.com/p/googleappengine/issues/detail?id=11604上阅读更多内容。 我不得不在https://github.com/rbanffy/appengine-fixture-loader和https://github.com/rbanffy/testable_appengine中引入一个反病毒程序来解除构建。 – rbanffy