-def tinder_http_post(server, selector, content_type, body):
+def tinder_http_post(d, server, selector, content_type, body):
import httplib
+ from bb import data
# 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()
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
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( "" )
"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),
+ "PR" : data.getVar('PR', d, True),
+ "FILE" : data.getVar('FILE', d, True) or "N/A",
+ "TARGETARCH" : data.getVar('TARGET_ARCH', d, True),
+ "TARGETFPU" : data.getVar('TARGET_FPU', d, True) or "Unknown",
+ "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
#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()
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:]
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
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 or getName(e) == "MsgNote":
+ return NotHandled
+
do_tinder_report = data.getVar('TINDER_REPORT', e.data, True)
if do_tinder_report and do_tinder_report == "1":
tinder_do_tinder_report(e)