diff options
author | Koen Kooi <koen@openembedded.org> | 2008-05-18 12:00:22 +0000 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2008-05-18 12:00:22 +0000 |
commit | 24afb9966c4337bb3fe66fb42bb5cc845e2ab212 (patch) | |
tree | e229f79fd536812aa0f20e4e2bde0fd4329e9ab7 | |
parent | 13899c1db914722bcc635b1752f7e473ccaeaf4b (diff) | |
parent | 53877222d5a1a0d9d3783618eb3100d63786404e (diff) |
merge of '860bccc90a045f54a0fd143d4759959d43643350'
and 'd0e6322f95c05a9799955013d3c7dba65d4cc401'
-rw-r--r-- | classes/oestats-client.bbclass | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/classes/oestats-client.bbclass b/classes/oestats-client.bbclass index b98177d40a..661ef74a22 100644 --- a/classes/oestats-client.bbclass +++ b/classes/oestats-client.bbclass @@ -22,28 +22,37 @@ def oestats_send(server, action, vars = {}): import httplib, urllib params = urllib.urlencode(vars) - headers = {"Content-type": "application/x-www-form-urlencoded", - "Accept": "text/plain"} + headers = {"Content-type": "application/x-www-form-urlencoded"} conn = httplib.HTTPConnection(server) conn.request("POST", action, params, headers) response = conn.getresponse() + data = response.read() conn.close() - return response + return data def oestats_start(server, builder, d): import bb import os.path + import re # send report - response = oestats_send(server, "/builds/start/", { - 'builder': builder, - 'revision': bb.data.getVar('METADATA_REVISION', d, True), - 'machine': bb.data.getVar('MACHINE', d, True), - 'distro': bb.data.getVar('DISTRO', d, True), - }) - id = response.read() + id = "" + try: + data = oestats_send(server, "/builds/start/", { + 'builder': builder, + 'revision': bb.data.getVar('METADATA_REVISION', d, True), + 'machine': bb.data.getVar('MACHINE', d, True), + 'distro': bb.data.getVar('DISTRO', d, True), + }) + if re.match("^\d+$", data): id=data + except: + pass # save the build id + if id: + bb.note("oestats: build %s" % id) + else: + bb.note("oestats: server error, disabling stats") oestats_setid(d, id) def oestats_stop(server, d, status): @@ -51,6 +60,7 @@ def oestats_stop(server, d, status): # retrieve build id id = oestats_getid(d) + if not id: return # send report response = oestats_send(server, "/builds/stop/%s/" % id, { @@ -63,6 +73,9 @@ def oestats_task(server, d, task, status): # retrieve build id id = oestats_getid(d) + if not id: return + + # calculate build time try: elapsed = time.time() - float(bb.data.getVar('OESTATS_STAMP', d, True)) except: |