【发布时间】:2012-02-13 19:05:57
【问题描述】:
在为我的应用程序设置单元测试环境时,我想以编程方式删除 github 存储库。
我已经在使用 v3 API,这似乎是最受支持的,也是前进的道路。我正在使用以下 python 行成功创建一个 repo,很好:
import urllib2, base64
createData = '{\"name\": \"UnitTest-SubModules\", \"description\": \"This is a Fake repo used for testing\"}'
request = urllib2.Request("https://api.github.com/user/repos")
base64string = base64.encodestring('%s:%s' % ('user', 'pass')).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
result = urllib2.urlopen(request, data=createData)
如何设置这个来删除一个 repo?我在http://developer.github.com/v3/repos/找不到删除规范
根据猜测,我尝试了以下代码,因为它遵循 API 模式,但它不起作用。返回 urllib2.HTTPError: HTTP Error 404: Not Found
request = urllib2.Request("https://api.github.com/repos/nyeates/UnitTest-SubModules")
base64string = base64.encodestring('%s:%s' % ('user', 'pass')).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
request.get_method = lambda: 'DELETE'
result = urllib2.urlopen(request)
我从How to make HTTP DELETE method using urllib2?获得了python http DELETE代码
【问题讨论】:
-
我认为 v3 API 不允许您删除存储库。我们也遇到了这个问题,正在等待他们的官方回复。
-
另外,使用requests 编写会更加优雅。
标签: api github github-api http-delete