commit: 8f4a556c399d1efd129a5a339c1d65e0801d1471
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 21 22:53:31 2015 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Mon Dec 21 22:53:31 2015 +0000
URL:
https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=8f4a556c
add support for irker
pym/tbc/build_log.py | 7 ++++++-
pym/tbc/irk.py | 28 ++++++++++++++++++++++++++++
2 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index bbe35d4..52db083 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -19,7 +19,7 @@ from _emerge.main import parse_opts
portage.proxy.lazyimport.lazyimport(globals(),
'tbc.actions:action_info,load_emerge_config',
)
-
+from tbc.irk import send_irk
from tbc.qachecks import check_repoman, repoman_full
from tbc.text import get_log_text_dict
from tbc.readconf import read_config_settings
@@ -301,6 +301,11 @@ def add_buildlog_main(settings, pkg, trees):
log_msg = "Package: %s:%s is logged." % (pkg.cpv, pkg.repo,)
add_logs(session, log_msg, "info", config_id)
print("\n>>> Logging %s:%s\n" % (pkg.cpv, pkg.repo,))
+ if build_log_dict['fail']:
+ msg = "Package: %s Repo: %s FAILD Weblink
http://foo.gg.oo/buildpackage/%s\n" % (pkg.cpv, pkg.repo, log_id,)
+ else:
+ msg = "Package: %s Repo: %s PASS Weblink
http://foo.gg.oo/buildpackage/%s\n" % (pkg.cpv, pkg.repo, log_id,)
+ send_irk(msg)
session.close
def log_fail_queru(session, build_dict, settings):
diff --git a/pym/tbc/irk.py b/pym/tbc/irk.py
new file mode 100644
index 0000000..01765c7
--- /dev/null
+++ b/pym/tbc/irk.py
@@ -0,0 +1,28 @@
+from __future__ import unicode_literals
+
+import json
+import socket
+import sys
+
+DEFAULT_SERVER = ("192.168.0.5", 6659)
+
+def connect(server = DEFAULT_SERVER):
+ return socket.create_connection(server)
+
+def send(s, target, message):
+ data = {"to": target, "privmsg" : message}
+ s.sendall(json.dumps(data).encode('ascii'))
+
+def irk(target, message, server = DEFAULT_SERVER):
+ s = connect(server)
+ if "irc:" not in target and "ircs:" not in target:
+ target = "irc://chat.freenode.net/{0}".format(target)
+ send(s, target, message)
+ s.close()
+
+def send_irk(msg):
+ target = "tinderbox-cluster"
+ try:
+ irk(target, msg)
+ except socket.error as e:
+ sys.stderr.write("irk: write to server failed: %r\n" % e)
\ No newline at end of file