X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=classes%2Ftinderclient.bbclass;h=a45c1e679bc8d28579f94340541455780369c1a0;hb=HEAD;hp=d1d9f49fac31e50a7a89407a0b02eea8c3e87937;hpb=e2152105462938dd24049d166836f0875257feab;p=vuplus_openembedded diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index d1d9f49..a45c1e6 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -1,10 +1,19 @@ -def tinder_http_post(server, selector, content_type, body): +def tinder_http_post(d, server, selector, content_type, body): import httplib # now post it for i in range(0,5): try: - h = httplib.HTTP(server) - h.putrequest('POST', selector) + proxy = data.getVar('HTTP_PROXY', d, True ) + if (proxy): + if (proxy.endswith('/')): + proxy = proxy[:-1] + if (proxy.startswith('http://')): + proxy = proxy[7:] + h = httplib.HTTP(proxy) + h.putrequest('POST', 'http://%s%s' % (server, selector)) + else: + h = httplib.HTTP(server) + h.putrequest('POST', selector) h.putheader('content-type', content_type) h.putheader('content-length', str(len(body))) h.endheaders() @@ -12,8 +21,8 @@ def tinder_http_post(server, selector, content_type, body): errcode, errmsg, headers = h.getreply() #print errcode, errmsg, headers return (errcode,errmsg, headers, h.file) - except: - print "Error sending the report!" + except Exception, e: + print "Error sending the report! ", e # try again pass @@ -24,6 +33,7 @@ def tinder_form_data(bound, dict, log): output = [] # for each key in the dictionary for name in dict: + assert dict[name] output.append( "--" + bound ) output.append( 'Content-Disposition: form-data; name="%s"' % name ) output.append( "" ) @@ -50,8 +60,7 @@ def tinder_format_http_post(d,status,log): for the tinderbox to be happy. """ - from bb import data, build - import os,random + import random # the variables we will need to send on this form post variables = { @@ -60,7 +69,7 @@ def tinder_format_http_post(d,status,log): "os" : os.uname()[0], "os_version" : os.uname()[2], "compiler" : "gcc", - "clobber" : data.getVar('TINDER_CLOBBER', d, True), + "clobber" : data.getVar('TINDER_CLOBBER', d, True) or "0", "srcdate" : data.getVar('SRCDATE', d, True), "PN" : data.getVar('PN', d, True), "PV" : data.getVar('PV', d, True), @@ -71,7 +80,6 @@ def tinder_format_http_post(d,status,log): "TARGETOS" : data.getVar('TARGET_OS', d, True) or "Unknown", "MACHINE" : data.getVar('MACHINE', d, True) or "Unknown", "DISTRO" : data.getVar('DISTRO', d, True) or "Unknown", - "zecke-rocks" : "sure", } # optionally add the status @@ -115,7 +123,7 @@ def tinder_build_start(d): #print "selector %s and url %s" % (selector, url) # now post it - errcode, errmsg, headers, h_file = tinder_http_post(server,selector,content_type, body) + errcode, errmsg, headers, h_file = tinder_http_post(d,server,selector,content_type, body) #print errcode, errmsg, headers report = h_file.read() @@ -150,7 +158,7 @@ def tinder_send_http(d, status, _log): new_log = _log while len(new_log) > 0: content_type, body = tinder_format_http_post(d,status,new_log[0:18000]) - errcode, errmsg, headers, h_file = tinder_http_post(server,selector,content_type, body) + errcode, errmsg, headers, h_file = tinder_http_post(d,server,selector,content_type, body) #print errcode, errmsg, headers #print h.file.read() new_log = new_log[18000:] @@ -327,7 +335,7 @@ def tinder_do_tinder_report(event): log += "<--- TINDERBOX Package %s done (SUCCESS)\n" % data.getVar('PF', event.data, True) elif name == "PkgFailed": if not data.getVar('TINDER_AUTOBUILD', event.data, True) == "0": - build.exec_task('do_clean', event.data) + build.exec_func('do_clean', event.data) log += "<--- TINDERBOX Package %s failed (FAILURE)\n" % data.getVar('PF', event.data, True) status = 200 # remember the failure for the -k case @@ -370,9 +378,9 @@ def tinder_do_tinder_report(event): addhandler tinderclient_eventhandler python tinderclient_eventhandler() { from bb import note, error, data - from bb.event import NotHandled + from bb.event import NotHandled, getName - if e.data is None: + if e.data is None or getName(e) == "MsgNote": return NotHandled do_tinder_report = data.getVar('TINDER_REPORT', e.data, True)