From 3aa7f1afd079bb1fb3f120b800eba0c5c5ca0080 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Wed, 22 Jun 2005 22:12:19 +0000 Subject: Tinder Client BBClass: turn OE into a tinderclient on its own. One can make any oe build send tinder reports to a tinderbox. BKrev: 42b9e243QjUOC_fqMR_9oUZFtmCf9Q --- classes/tinderclient.bbclass | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 classes/tinderclient.bbclass (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass new file mode 100644 index 0000000000..e69de29bb2 -- cgit v1.2.3 From c8e5702127e507e82e6f68a4b8c546803accea9d Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Thu, 30 Jun 2005 08:19:37 +0000 Subject: import clean BK tree at cset 1.3670 --- classes/tinderclient.bbclass | 117 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index e69de29bb2..1553d16319 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -0,0 +1,117 @@ +def base_tinder_time(): + import time + return time.strftime('%m/%d/%Y %H:%M:%S', time.localtime()) + +# Prepare tinderbox mail header +def base_prepare_mail_header(data, status): + import bb + + str = "tinderbox: administrator: %s\n" % bb.data.getVar('TINDER_ADMIN', data, True) + str += "tinderbox: starttime: %s\n" % bb.data.getVar('TINDER_START', bb.make.cfg, True) + str += "tinderbox: buildname: %s\n" % bb.data.getVar('TINDER_BUILD', data, True) + str += "tinderbox: errorparser: %s\n" % bb.data.getVar('TINDER_ERROR', data, True) + str += "tinderbox: status: %s\n" % status + str += "tinderbox: timenow: %s\n" % base_tinder_time() + str += "tinderbox: tree: %s\n" % bb.data.getVar('TINDER_TREE', data, True) + str += "tinderbox: buildfamily: %s\n" % "unix" + str += "tinderbox: END" + + return str + +def base_do_tinder_report(event): + """ + Report to the tinderbox. Either we will report every step + (depending on TINDER_VERBOSE_REPORT) at the end we will send the + tinderclient.log + """ + from bb.event import getName + from bb import data, make, mkdirhier + import os, glob + + # variables + name = getName(event) + log = "" + header = "" + verbose = data.getVar('TINDER_VERBOSE_REPORT', event.data, True) == "1" + + # Check what we need to do Build* shows we start or are done + if name == "BuildStarted": + data.setVar('TINDER_START', base_tinder_time(), event.data) + header = base_prepare_mail_header(event.data, 'building') + # generate + for var in os.environ: + log += "%s=%s\n" % (var, os.environ[var]) + + mkdirhier(data.getVar('TMPDIR', event.data, True)) + file = open(data.getVar('TINDER_LOG', event.data, True), 'w') + file.write(log) + + if not verbose: + header = "" + + if name == "PkgFailed" or name == "BuildCompleted": + status = 'build_failed' + if name == "BuildCompleted": + status = "success" + header = base_prepare_mail_header(event.data, status) + # append the log + log_file = data.getVar('TINDER_LOG', event.data, True) + file = open(log_file, 'r') + for line in file.readlines(): + log += line + + if verbose and name == "TaskStarted": + header = base_prepare_mail_header(event.data, 'building') + log = "Task %s started" % event.task + + if verbose and name == "PkgStarted": + header = base_prepare_mail_header(event.data, 'building') + log = "Package %s started" % data.getVar('P', event.data, True) + + if verbose and name == "PkgSucceeded": + header = base_prepare_mail_header(event.data, 'building') + log = "Package %s done" % data.getVar('P', event.data, True) + + # Append the Task Log + if name == "TaskSucceeded" or name == "TaskFailed": + log_file = glob.glob("%s/log.%s.*" % (data.getVar('T', event.data, True), event.task)) + + if len(log_file) != 0: + to_file = data.getVar('TINDER_LOG', event.data, True) + log_txt = open(log_file[0], 'r').readlines() + to_file = open(to_file, 'a') + + to_file.writelines(log_txt) + + # append to the log + if verbose: + header = base_prepare_mail_header(event.data, 'building') + for line in log_txt: + log += line + + # now mail the log + if len(log) == 0 or len(header) == 0: + return + + import smtplib + from email.MIMEText import MIMEText + msg = MIMEText(header +'\n' + log) + msg['Subject'] = "Tinder-Client build log" + msg['To'] = data.getVar('TINDER_MAILTO',event.data, True) + msg['From'] = data.getVar('TINDER_FROM', event.data, True) + + + s = smtplib.SMTP() + s.connect() + s.sendmail(data.getVar('TINDER_FROM', event.data, True), [data.getVar('TINDER_MAILTO', event.data, True)], msg.as_string()) + s.close() + +addhandler tinderclient_eventhandler +python base_eventhandler() { + + do_tinder_report = data.getVar('TINDER_REPORT', e.data, True) + if do_tinder_report and do_tinder_report == "1": + base_do_tinder_report(e) + + return NotHandled +} -- cgit v1.2.3 From 9925e0ce6b7b6c5fa62ce1fed6b1198bb10c1c88 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Sat, 23 Jul 2005 19:22:24 +0000 Subject: openembedded/classes/tinderclient.bbclass: -Fix spacing and imports now we can test the tinderclient --- classes/tinderclient.bbclass | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index 1553d16319..fc1f4d2137 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -51,8 +51,8 @@ def base_do_tinder_report(event): if name == "PkgFailed" or name == "BuildCompleted": status = 'build_failed' - if name == "BuildCompleted": - status = "success" + if name == "BuildCompleted": + status = "success" header = base_prepare_mail_header(event.data, status) # append the log log_file = data.getVar('TINDER_LOG', event.data, True) @@ -107,7 +107,9 @@ def base_do_tinder_report(event): s.close() addhandler tinderclient_eventhandler -python base_eventhandler() { +python tinderclient_eventhandler() { + from bb import note, error, data + from bb.event import NotHandled do_tinder_report = data.getVar('TINDER_REPORT', e.data, True) if do_tinder_report and do_tinder_report == "1": -- cgit v1.2.3 From 738a1c74e4b2b019ce0547bac017f74a99e2a3de Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Sat, 23 Jul 2005 20:24:05 +0000 Subject: TinderClient.bbclass: -Add a TINDER_SUBJECT field, mails will carry that subject tinder.conf: -Mention TINDER_TREE and TINDER_SUBJECT. Without TINDER_TREE the tinderbox will not know how to associate your report. --- classes/tinderclient.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index fc1f4d2137..a4aabbdf76 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -96,7 +96,7 @@ def base_do_tinder_report(event): import smtplib from email.MIMEText import MIMEText msg = MIMEText(header +'\n' + log) - msg['Subject'] = "Tinder-Client build log" + msg['Subject'] = data.getVar('TINDER_SUBJECT',event.data, True) or "Tinder-Client build log" msg['To'] = data.getVar('TINDER_MAILTO',event.data, True) msg['From'] = data.getVar('TINDER_FROM', event.data, True) -- cgit v1.2.3 From 46d0f40c18ca6690faa48e6c5a164da917694a8c Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Sat, 23 Jul 2005 21:23:03 +0000 Subject: classes/tinderclient.bbclass: -setting and reading make.cfg can not work conf/tinder.conf: -set TINDER_START there for now... --- classes/tinderclient.bbclass | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index a4aabbdf76..cf375282c6 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -7,7 +7,7 @@ def base_prepare_mail_header(data, status): import bb str = "tinderbox: administrator: %s\n" % bb.data.getVar('TINDER_ADMIN', data, True) - str += "tinderbox: starttime: %s\n" % bb.data.getVar('TINDER_START', bb.make.cfg, True) + str += "tinderbox: starttime: %s\n" % bb.data.getVar('TINDER_START', data, True) str += "tinderbox: buildname: %s\n" % bb.data.getVar('TINDER_BUILD', data, True) str += "tinderbox: errorparser: %s\n" % bb.data.getVar('TINDER_ERROR', data, True) str += "tinderbox: status: %s\n" % status @@ -36,7 +36,6 @@ def base_do_tinder_report(event): # Check what we need to do Build* shows we start or are done if name == "BuildStarted": - data.setVar('TINDER_START', base_tinder_time(), event.data) header = base_prepare_mail_header(event.data, 'building') # generate for var in os.environ: -- cgit v1.2.3 From 75b7527210cbde12805a1e975f69cb2c08c87f92 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Sun, 24 Jul 2005 11:04:31 +0000 Subject: classes/tinderclient.bbclass: -Fix indention of the final report mail. Now success or failure should be mail to the tinderbox. --- classes/tinderclient.bbclass | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index cf375282c6..869cd043ba 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -52,12 +52,12 @@ def base_do_tinder_report(event): status = 'build_failed' if name == "BuildCompleted": status = "success" - header = base_prepare_mail_header(event.data, status) - # append the log - log_file = data.getVar('TINDER_LOG', event.data, True) - file = open(log_file, 'r') - for line in file.readlines(): - log += line + header = base_prepare_mail_header(event.data, status) + # append the log + log_file = data.getVar('TINDER_LOG', event.data, True) + file = open(log_file, 'r') + for line in file.readlines(): + log += line if verbose and name == "TaskStarted": header = base_prepare_mail_header(event.data, 'building') -- cgit v1.2.3 From e9803751281aeb77114b1e4b83f792fa1d31e7c9 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Tue, 26 Jul 2005 13:57:48 +0000 Subject: openembedded/classes/tinderclient.bbclass: -Use the BUILDSTART as the starttime for the tinderbox. In every none malicious bbfile this variable should have the same time. --- classes/tinderclient.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index 869cd043ba..4f3c495078 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -7,7 +7,7 @@ def base_prepare_mail_header(data, status): import bb str = "tinderbox: administrator: %s\n" % bb.data.getVar('TINDER_ADMIN', data, True) - str += "tinderbox: starttime: %s\n" % bb.data.getVar('TINDER_START', data, True) + str += "tinderbox: starttime: %s\n" % bb.data.getVar('BUILDSTART', data, True) or bb.data.getVar('TINDER_START', data, True) str += "tinderbox: buildname: %s\n" % bb.data.getVar('TINDER_BUILD', data, True) str += "tinderbox: errorparser: %s\n" % bb.data.getVar('TINDER_ERROR', data, True) str += "tinderbox: status: %s\n" % status -- cgit v1.2.3 From a6c91177794c4e1657e2bb9b53a6b2cd0cda1d01 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Tue, 26 Jul 2005 14:09:06 +0000 Subject: openembedded/classes/tinderclient.bbclass: -s/base_/tinder_/ --- classes/tinderclient.bbclass | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index 4f3c495078..595b51ef47 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -1,9 +1,9 @@ -def base_tinder_time(): +def tinder_tinder_time(): import time return time.strftime('%m/%d/%Y %H:%M:%S', time.localtime()) # Prepare tinderbox mail header -def base_prepare_mail_header(data, status): +def tinder_prepare_mail_header(data, status): import bb str = "tinderbox: administrator: %s\n" % bb.data.getVar('TINDER_ADMIN', data, True) @@ -11,14 +11,14 @@ def base_prepare_mail_header(data, status): str += "tinderbox: buildname: %s\n" % bb.data.getVar('TINDER_BUILD', data, True) str += "tinderbox: errorparser: %s\n" % bb.data.getVar('TINDER_ERROR', data, True) str += "tinderbox: status: %s\n" % status - str += "tinderbox: timenow: %s\n" % base_tinder_time() + str += "tinderbox: timenow: %s\n" % tinder_tinder_time() str += "tinderbox: tree: %s\n" % bb.data.getVar('TINDER_TREE', data, True) str += "tinderbox: buildfamily: %s\n" % "unix" str += "tinderbox: END" return str -def base_do_tinder_report(event): +def tinder_do_tinder_report(event): """ Report to the tinderbox. Either we will report every step (depending on TINDER_VERBOSE_REPORT) at the end we will send the @@ -36,7 +36,7 @@ def base_do_tinder_report(event): # Check what we need to do Build* shows we start or are done if name == "BuildStarted": - header = base_prepare_mail_header(event.data, 'building') + header = tinder_prepare_mail_header(event.data, 'building') # generate for var in os.environ: log += "%s=%s\n" % (var, os.environ[var]) @@ -52,7 +52,7 @@ def base_do_tinder_report(event): status = 'build_failed' if name == "BuildCompleted": status = "success" - header = base_prepare_mail_header(event.data, status) + header = tinder_prepare_mail_header(event.data, status) # append the log log_file = data.getVar('TINDER_LOG', event.data, True) file = open(log_file, 'r') @@ -60,15 +60,15 @@ def base_do_tinder_report(event): log += line if verbose and name == "TaskStarted": - header = base_prepare_mail_header(event.data, 'building') + header = tinder_prepare_mail_header(event.data, 'building') log = "Task %s started" % event.task if verbose and name == "PkgStarted": - header = base_prepare_mail_header(event.data, 'building') + header = tinder_prepare_mail_header(event.data, 'building') log = "Package %s started" % data.getVar('P', event.data, True) if verbose and name == "PkgSucceeded": - header = base_prepare_mail_header(event.data, 'building') + header = tinder_prepare_mail_header(event.data, 'building') log = "Package %s done" % data.getVar('P', event.data, True) # Append the Task Log @@ -84,7 +84,7 @@ def base_do_tinder_report(event): # append to the log if verbose: - header = base_prepare_mail_header(event.data, 'building') + header = tinder_prepare_mail_header(event.data, 'building') for line in log_txt: log += line @@ -112,7 +112,7 @@ python tinderclient_eventhandler() { do_tinder_report = data.getVar('TINDER_REPORT', e.data, True) if do_tinder_report and do_tinder_report == "1": - base_do_tinder_report(e) + tinder_do_tinder_report(e) return NotHandled } -- cgit v1.2.3 From 13e06f356fb0c427c1e0007fbf2cf7ea4243b2fa Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Tue, 26 Jul 2005 14:41:44 +0000 Subject: openembedded/classes/tinderclient.bbclass: -Prepare the way for HTTP post --- classes/tinderclient.bbclass | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index 595b51ef47..c55b380277 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -2,6 +2,23 @@ def tinder_tinder_time(): import time return time.strftime('%m/%d/%Y %H:%M:%S', time.localtime()) +def tinder_send_email(data, header, log): + import smtplib + from email.MIMEText import MIMEText + msg = MIMEText(header +'\n' + log) + msg['Subject'] = data.getVar('TINDER_SUBJECT',event.data, True) or "Tinder-Client build log" + msg['To'] = data.getVar('TINDER_MAILTO',event.data, True) + msg['From'] = data.getVar('TINDER_FROM', event.data, True) + + + s = smtplib.SMTP() + s.connect() + s.sendmail(data.getVar('TINDER_FROM', event.data, True), [data.getVar('TINDER_MAILTO', event.data, True)], msg.as_string()) + s.close() + +def tinder_send_http(data, header, log): + pass + # Prepare tinderbox mail header def tinder_prepare_mail_header(data, status): import bb @@ -92,18 +109,12 @@ def tinder_do_tinder_report(event): if len(log) == 0 or len(header) == 0: return - import smtplib - from email.MIMEText import MIMEText - msg = MIMEText(header +'\n' + log) - msg['Subject'] = data.getVar('TINDER_SUBJECT',event.data, True) or "Tinder-Client build log" - msg['To'] = data.getVar('TINDER_MAILTO',event.data, True) - msg['From'] = data.getVar('TINDER_FROM', event.data, True) + log_post_method = tinder_send_email + if bb.data.getVar('TINDER_SENDLOG', event.data, True) == "http": + log_post_method = tinder_send_http + log_post_method(event.data, header, log) - s = smtplib.SMTP() - s.connect() - s.sendmail(data.getVar('TINDER_FROM', event.data, True), [data.getVar('TINDER_MAILTO', event.data, True)], msg.as_string()) - s.close() addhandler tinderclient_eventhandler python tinderclient_eventhandler() { -- cgit v1.2.3 From 8eecf9974f76eb913131f0538dbb8d70e37c3cb4 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Tue, 26 Jul 2005 15:06:18 +0000 Subject: openembedded/tinderclient/tinderclient.bbclass: -event.data -> data in tinder_send_email -implement HTTP post (untested) set TINDER_SENDLOG to 'http' set TINDER_HOST to ewi....nl set TINDER_URL to /OE_qa/cgi-bin/process_builds.cgi --- classes/tinderclient.bbclass | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index c55b380277..e8e9ba7c42 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -6,18 +6,23 @@ def tinder_send_email(data, header, log): import smtplib from email.MIMEText import MIMEText msg = MIMEText(header +'\n' + log) - msg['Subject'] = data.getVar('TINDER_SUBJECT',event.data, True) or "Tinder-Client build log" - msg['To'] = data.getVar('TINDER_MAILTO',event.data, True) - msg['From'] = data.getVar('TINDER_FROM', event.data, True) + msg['Subject'] = bb.data.getVar('TINDER_SUBJECT',data, True) or "Tinder-Client build log" + msg['To'] = bb.data.getVar('TINDER_MAILTO' ,data, True) + msg['From'] = bb.data.getVar('TINDER_FROM', data, True) s = smtplib.SMTP() s.connect() - s.sendmail(data.getVar('TINDER_FROM', event.data, True), [data.getVar('TINDER_MAILTO', event.data, True)], msg.as_string()) + s.sendmail(bb.data.getVar('TINDER_FROM', data, True), [bb.data.getVar('TINDER_MAILTO', data, True)], msg.as_string()) s.close() def tinder_send_http(data, header, log): - pass + cont = header + '\n' + log + import httplib + conn = httplib.HTPPConnection(bb.data.getVar('TINDER_HOST',data, True)) + conn.request("POST", bb.data.getVar('TINDER_URL',data,True),body=cont) + conn.close() + # Prepare tinderbox mail header def tinder_prepare_mail_header(data, status): -- cgit v1.2.3 From a57532969f6c525a2e9b62b5542dcc9b0bb4b8ae Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Tue, 26 Jul 2005 21:49:06 +0000 Subject: classes/tinderclient.bbclass: -Make the other part of this class work (finish the bb.data -> data. work) --- classes/tinderclient.bbclass | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index e8e9ba7c42..dc92591133 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -2,39 +2,44 @@ def tinder_tinder_time(): import time return time.strftime('%m/%d/%Y %H:%M:%S', time.localtime()) -def tinder_send_email(data, header, log): +def tinder_send_email(da, header, log): import smtplib + from bb import data from email.MIMEText import MIMEText msg = MIMEText(header +'\n' + log) - msg['Subject'] = bb.data.getVar('TINDER_SUBJECT',data, True) or "Tinder-Client build log" - msg['To'] = bb.data.getVar('TINDER_MAILTO' ,data, True) - msg['From'] = bb.data.getVar('TINDER_FROM', data, True) + msg['Subject'] = data.getVar('TINDER_SUBJECT',da, True) or "Tinder-Client build log" + msg['To'] = data.getVar('TINDER_MAILTO' ,da, True) + msg['From'] = data.getVar('TINDER_FROM', da, True) s = smtplib.SMTP() s.connect() - s.sendmail(bb.data.getVar('TINDER_FROM', data, True), [bb.data.getVar('TINDER_MAILTO', data, True)], msg.as_string()) + s.sendmail(data.getVar('TINDER_FROM', da, True), [data.getVar('TINDER_MAILTO', da, True)], msg.as_string()) s.close() -def tinder_send_http(data, header, log): - cont = header + '\n' + log - import httplib - conn = httplib.HTPPConnection(bb.data.getVar('TINDER_HOST',data, True)) - conn.request("POST", bb.data.getVar('TINDER_URL',data,True),body=cont) +def tinder_send_http(da, header, log): + from bb import data + import httplib, urllib + cont = "%s\n%s" % ( header, log) + headers = {"Content-type": "multipart/form-data" } + + print cont + conn = httplib.HTTPConnection(data.getVar('TINDER_HOST',da, True)) + conn.request("POST", data.getVar('TINDER_URL',da,True), cont, headers) conn.close() # Prepare tinderbox mail header -def tinder_prepare_mail_header(data, status): - import bb +def tinder_prepare_mail_header(da, status): + from bb import data - str = "tinderbox: administrator: %s\n" % bb.data.getVar('TINDER_ADMIN', data, True) - str += "tinderbox: starttime: %s\n" % bb.data.getVar('BUILDSTART', data, True) or bb.data.getVar('TINDER_START', data, True) - str += "tinderbox: buildname: %s\n" % bb.data.getVar('TINDER_BUILD', data, True) - str += "tinderbox: errorparser: %s\n" % bb.data.getVar('TINDER_ERROR', data, True) + str = "tinderbox: administrator: %s\n" % data.getVar('TINDER_ADMIN', da, True) + str += "tinderbox: starttime: %s\n" % data.getVar('BUILDSTART', da, True) or data.getVar('TINDER_START', da, True) + str += "tinderbox: buildname: %s\n" % data.getVar('TINDER_BUILD', da, True) + str += "tinderbox: errorparser: %s\n" % data.getVar('TINDER_ERROR', da, True) str += "tinderbox: status: %s\n" % status str += "tinderbox: timenow: %s\n" % tinder_tinder_time() - str += "tinderbox: tree: %s\n" % bb.data.getVar('TINDER_TREE', data, True) + str += "tinderbox: tree: %s\n" % data.getVar('TINDER_TREE', da, True) str += "tinderbox: buildfamily: %s\n" % "unix" str += "tinderbox: END" @@ -115,7 +120,7 @@ def tinder_do_tinder_report(event): return log_post_method = tinder_send_email - if bb.data.getVar('TINDER_SENDLOG', event.data, True) == "http": + if data.getVar('TINDER_SENDLOG', event.data, True) == "http": log_post_method = tinder_send_http log_post_method(event.data, header, log) -- cgit v1.2.3 From 946e28d1cb847b99b9b8d14450ca22d808f62295 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Tue, 26 Jul 2005 22:20:25 +0000 Subject: openembedded/classes/tinderclient.bbclass: -A beginning new line... makes process_builds... thanks to mithro... --- classes/tinderclient.bbclass | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index dc92591133..0c0c470bb8 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -20,10 +20,9 @@ def tinder_send_email(da, header, log): def tinder_send_http(da, header, log): from bb import data import httplib, urllib - cont = "%s\n%s" % ( header, log) + cont = "\n%s\n%s" % ( header, log) headers = {"Content-type": "multipart/form-data" } - print cont conn = httplib.HTTPConnection(data.getVar('TINDER_HOST',da, True)) conn.request("POST", data.getVar('TINDER_URL',da,True), cont, headers) conn.close() -- cgit v1.2.3 From 7f4531c6654d89c928c64c057207149c3d4d9fe6 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Wed, 27 Jul 2005 23:19:48 +0000 Subject: openembedded/classes/tinderclient.bbclass: -No reason to include 'make' from bb. Specially as it was removed some time ago... --- classes/tinderclient.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index 0c0c470bb8..5de9b8755a 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -51,7 +51,7 @@ def tinder_do_tinder_report(event): tinderclient.log """ from bb.event import getName - from bb import data, make, mkdirhier + from bb import data, mkdirhier import os, glob # variables -- cgit v1.2.3 From bbfe419ac95af0ba2ecb367223cc087cd81123b0 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Sat, 30 Jul 2005 13:18:57 +0000 Subject: openembedded/classes/tinderclient.bbclass: -Use spaces only, no more tabs to avoid issues with python and level of indention --- classes/tinderclient.bbclass | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index 5de9b8755a..c424797d16 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -21,8 +21,8 @@ def tinder_send_http(da, header, log): from bb import data import httplib, urllib cont = "\n%s\n%s" % ( header, log) - headers = {"Content-type": "multipart/form-data" } - + headers = {"Content-type": "multipart/form-data" } + conn = httplib.HTTPConnection(data.getVar('TINDER_HOST',da, True)) conn.request("POST", data.getVar('TINDER_URL',da,True), cont, headers) conn.close() @@ -76,8 +76,8 @@ def tinder_do_tinder_report(event): if name == "PkgFailed" or name == "BuildCompleted": status = 'build_failed' - if name == "BuildCompleted": - status = "success" + if name == "BuildCompleted": + status = "success" header = tinder_prepare_mail_header(event.data, status) # append the log log_file = data.getVar('TINDER_LOG', event.data, True) @@ -120,7 +120,7 @@ def tinder_do_tinder_report(event): log_post_method = tinder_send_email if data.getVar('TINDER_SENDLOG', event.data, True) == "http": - log_post_method = tinder_send_http + log_post_method = tinder_send_http log_post_method(event.data, header, log) -- cgit v1.2.3 From 7bd115ab1019f19bc47de25df551dfff7cfce8d1 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Sat, 30 Jul 2005 19:21:18 +0000 Subject: openembedded/conf/tinder.conf: -Document the TINDER_TZ Option. It can either be Europe/Berlin (no kidding) or a timedelty (e.g. +0200) openembedded/classes/tinderclient.bbclass: -Send timenow as UTC + TINDER_TZ offset -Parse and send starttime as time + UTC (either set TINDER_START with gmtime or use the most recent bitbake from trunk for having BUILDSTART as UTC time) --- classes/tinderclient.bbclass | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index c424797d16..5b55589ec0 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -1,6 +1,26 @@ -def tinder_tinder_time(): - import time - return time.strftime('%m/%d/%Y %H:%M:%S', time.localtime()) +def tinder_tz_offset(off): + # get the offset. Either it is a number like + # +200 or -300 + try: + return int(off) + except ValueError: + if off == "Europe/Berlin": + return 200 + else: + return 0 + +def tinder_tinder_time(offset): + import datetime + td = datetime.timedelta(tinder_tz_offset(offset)) + time = datetime.datetime.utcnow() + td + return time.strftime('%m/%d/%Y %H:%M:%S') + +def tinder_tinder_start(date,offset): + import datetime, time + td = datetime.timedelta(tinder_tz_offset(offset)) + ti = time.strptime(date, "%m/%d/%Y %H:%M:%S") + ti = datetime.datetime(*ti[0:7])-td + return time.strftime('%m/%d/%Y %H:%M:%S') def tinder_send_email(da, header, log): import smtplib @@ -33,11 +53,11 @@ def tinder_prepare_mail_header(da, status): from bb import data str = "tinderbox: administrator: %s\n" % data.getVar('TINDER_ADMIN', da, True) - str += "tinderbox: starttime: %s\n" % data.getVar('BUILDSTART', da, True) or data.getVar('TINDER_START', da, True) + str += "tinderbox: starttime: %s\n" % tinder_tinder_start(data.getVar('TINDER_START', da, True) or data.getVar('BUILDSTART', da, True), data.getVar('TINDER_TZ', da, True)) str += "tinderbox: buildname: %s\n" % data.getVar('TINDER_BUILD', da, True) str += "tinderbox: errorparser: %s\n" % data.getVar('TINDER_ERROR', da, True) str += "tinderbox: status: %s\n" % status - str += "tinderbox: timenow: %s\n" % tinder_tinder_time() + str += "tinderbox: timenow: %s\n" % tinder_tinder_time(data.getVar('TINDER_TZ', da, True)) str += "tinderbox: tree: %s\n" % data.getVar('TINDER_TREE', da, True) str += "tinderbox: buildfamily: %s\n" % "unix" str += "tinderbox: END" -- cgit v1.2.3 From b159aaf77fabb59c120f2670c33db4af9070ee2c Mon Sep 17 00:00:00 2001 From: Rod Whitby Date: Sat, 30 Jul 2005 16:16:30 +0000 Subject: Reinstated freyther's patch which I inadvertently reverted during a spurious monotone merge :-( --- classes/tinderclient.bbclass | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index 5b55589ec0..3c88b2ac63 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -5,21 +5,21 @@ def tinder_tz_offset(off): return int(off) except ValueError: if off == "Europe/Berlin": - return 200 + return 120 else: return 0 def tinder_tinder_time(offset): import datetime - td = datetime.timedelta(tinder_tz_offset(offset)) + td = datetime.timedelta(minutes=tinder_tz_offset(offset)) time = datetime.datetime.utcnow() + td return time.strftime('%m/%d/%Y %H:%M:%S') def tinder_tinder_start(date,offset): import datetime, time - td = datetime.timedelta(tinder_tz_offset(offset)) + td = datetime.timedelta(minutes=tinder_tz_offset(offset)) ti = time.strptime(date, "%m/%d/%Y %H:%M:%S") - ti = datetime.datetime(*ti[0:7])-td + time = datetime.datetime(*ti[0:7])+td return time.strftime('%m/%d/%Y %H:%M:%S') def tinder_send_email(da, header, log): -- cgit v1.2.3 From 610be6834096a4bc2653bb157bf5b44bb0043fdc Mon Sep 17 00:00:00 2001 From: John Bowler Date: Tue, 2 Aug 2005 00:38:07 +0000 Subject: To avoid further errors this is a manual copy of the current classes/tinderclient.bbclass (which includes the de-reverted change) from org.openembedded.dev --- classes/tinderclient.bbclass | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index 3c88b2ac63..168b7dec4e 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -1,5 +1,5 @@ def tinder_tz_offset(off): - # get the offset. Either it is a number like + # get the offset.n minutes Either it is a number like # +200 or -300 try: return int(off) @@ -42,9 +42,16 @@ def tinder_send_http(da, header, log): import httplib, urllib cont = "\n%s\n%s" % ( header, log) headers = {"Content-type": "multipart/form-data" } + print cont conn = httplib.HTTPConnection(data.getVar('TINDER_HOST',da, True)) conn.request("POST", data.getVar('TINDER_URL',da,True), cont, headers) + + resp = conn.getresponse() + print resp.status, resp.reason + data = resp.read() + print data + conn.close() -- cgit v1.2.3 From 49bcfd71fd59b583b6dbbad2626e48c5fad9b692 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Wed, 3 Aug 2005 12:17:47 +0000 Subject: openembedded/classes/tinderclient.bbclass: -Do not print that stuff... It was not meant to be pushed --- classes/tinderclient.bbclass | 2 -- 1 file changed, 2 deletions(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index 168b7dec4e..47403ac53c 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -42,13 +42,11 @@ def tinder_send_http(da, header, log): import httplib, urllib cont = "\n%s\n%s" % ( header, log) headers = {"Content-type": "multipart/form-data" } - print cont conn = httplib.HTTPConnection(data.getVar('TINDER_HOST',da, True)) conn.request("POST", data.getVar('TINDER_URL',da,True), cont, headers) resp = conn.getresponse() - print resp.status, resp.reason data = resp.read() print data -- cgit v1.2.3 From 85b291d8757db4eae0a2e10c7e3464eb01e7cfe7 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Wed, 3 Aug 2005 12:27:03 +0000 Subject: tinderclient.bbclass remove even more debugging stuff --- classes/tinderclient.bbclass | 5 ----- 1 file changed, 5 deletions(-) (limited to 'classes/tinderclient.bbclass') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index 47403ac53c..290166bb03 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -45,11 +45,6 @@ def tinder_send_http(da, header, log): conn = httplib.HTTPConnection(data.getVar('TINDER_HOST',da, True)) conn.request("POST", data.getVar('TINDER_URL',da,True), cont, headers) - - resp = conn.getresponse() - data = resp.read() - print data - conn.close() -- cgit v1.2.3