From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 48DE21381F3 for ; Fri, 21 Dec 2012 02:11:14 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 59B1121C032; Fri, 21 Dec 2012 02:11:03 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id BB44B21C032 for ; Fri, 21 Dec 2012 02:11:02 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 7432033DA47 for ; Fri, 21 Dec 2012 02:11:01 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 06F09E543C for ; Fri, 21 Dec 2012 02:11:00 +0000 (UTC) From: "Magnus Granberg" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Magnus Granberg" Message-ID: <1356055844.e5239c39901f14bc549c066c98a71ce8fb06fa1f.zorry@gentoo> Subject: [gentoo-commits] dev/zorry:master commit in: gobs/pym/ X-VCS-Repository: dev/zorry X-VCS-Files: gobs/pym/ConnectionManager.py gobs/pym/build_log.py X-VCS-Directories: gobs/pym/ X-VCS-Committer: zorry X-VCS-Committer-Name: Magnus Granberg X-VCS-Revision: e5239c39901f14bc549c066c98a71ce8fb06fa1f X-VCS-Branch: master Date: Fri, 21 Dec 2012 02:11:00 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: e0e87bc4-0d14-4c69-9dab-cbc903948945 X-Archives-Hash: b6a1cdcef3309d56d061557f9dc8331f commit: e5239c39901f14bc549c066c98a71ce8fb06fa1f Author: Magnus Granberg gentoo org> AuthorDate: Fri Dec 21 02:10:44 2012 +0000 Commit: Magnus Granberg gentoo org> CommitDate: Fri Dec 21 02:10:44 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=dev/zorry.git;a=commit;h=e5239c39 fix connectionManager object has no attribute --- gobs/pym/ConnectionManager.py | 2 +- gobs/pym/build_log.py | 61 +++++++++++++++++++---------------------- 2 files changed, 29 insertions(+), 34 deletions(-) diff --git a/gobs/pym/ConnectionManager.py b/gobs/pym/ConnectionManager.py index 14f875f..8d3750c 100644 --- a/gobs/pym/ConnectionManager.py +++ b/gobs/pym/ConnectionManager.py @@ -7,7 +7,7 @@ gobs_settings_dict=reader.read_gobs_settings_all() class connectionManager(object): _instance = None - def __new__(cls, *args, **kwargs): + def __new__(cls, numberOfconnections=20, *args, **kwargs): if not cls._instance: cls._instance = super(connectionManager, cls).__new__(cls, *args, **kwargs) #read the sql user/host etc and store it in the local object diff --git a/gobs/pym/build_log.py b/gobs/pym/build_log.py index 43bc0a2..b55ee19 100644 --- a/gobs/pym/build_log.py +++ b/gobs/pym/build_log.py @@ -11,22 +11,14 @@ from portage.util import writemsg, \ writemsg_level, writemsg_stdout from portage import _encodings from portage import _unicode_encode + from gobs.package import gobs_package from gobs.readconf import get_conf_settings from gobs.flags import gobs_use_flags - -reader=get_conf_settings() -gobs_settings_dict=reader.read_gobs_settings_all() -config_profile = gobs_settings_dict['gobs_config'] -# make a CM from gobs.ConnectionManager import connectionManager -CM=connectionManager(gobs_settings_dict) -#selectively import the pgsql/mysql querys -if CM.getName()=='pgsql': - from gobs.pgsql_querys import * +from gobs.mysql_querys import add_gobs_logs, get_config_id -def get_build_dict_db(settings, pkg): - conn=CM.getConnection() +def get_build_dict_db(conn, config_id, settings, pkg): myportdb = portage.portdbapi(mysettings=settings) cpvr_list = catpkgsplit(pkg.cpv, silent=1) categories = cpvr_list[0] @@ -34,7 +26,7 @@ def get_build_dict_db(settings, pkg): repo = pkg.repo ebuild_version = cpv_getversion(pkg.cpv) log_msg = "Logging %s:%s" % (pkg.cpv, repo,) - add_gobs_logs(conn, log_msg, "info", config_profile) + add_gobs_logs(conn, log_msg, "info", config_id) init_package = gobs_package(settings, myportdb) package_id = get_package_id(conn, categories, package, repo) build_dict = {} @@ -43,7 +35,7 @@ def get_build_dict_db(settings, pkg): build_dict['cpv'] = pkg.cpv build_dict['categories'] = categories build_dict['package'] = package - build_dict['config_id'] = get_config_id(conn, config_profile) + build_dict['config_id'] = config_id init_useflags = gobs_use_flags(settings, myportdb, pkg.cpv) init_useflags = gobs_use_flags(settings, myportdb, pkg.cpv) iuse_flags_list, final_use_list = init_useflags.get_flags_pkg(pkg, settings) @@ -70,14 +62,14 @@ def get_build_dict_db(settings, pkg): ebuild_id = get_ebuild_id_db_checksum(conn, build_dict) if ebuild_id is None: log_msg = "%s:%s Don't have any ebuild_id!" % (pkg.cpv, repo,) - add_gobs_logs(conn, log_msg, "info", config_profile) + add_gobs_logs(conn, log_msg, "info", config_id) update_manifest_sql(conn, package_id, "0") init_package = gobs_package(settings, myportdb) init_package.update_package_db(package_id) ebuild_id = get_ebuild_id_db_checksum(conn, build_dict) if ebuild_id is None: log_msg = "%s:%s Don't have any ebuild_id!" % (pkg.cpv, repo,) - add_gobs_logs(conn, log_msg, "error", config_profile) + add_gobs_logs(conn, log_msg, "error", config_id) return build_dict['ebuild_id'] = ebuild_id build_job_id = get_build_job_id(conn, build_dict) @@ -85,7 +77,6 @@ def get_build_dict_db(settings, pkg): build_dict['build_job_id'] = None else: build_dict['build_job_id'] = build_job_id - CM.putConnection(conn) return build_dict def search_info(textline, error_log_list): @@ -214,13 +205,20 @@ def write_msg_file(msg, log_path): if f_real is not f: f_real.close() -def add_buildlog_main(settings, pkg, trees): - conn=CM.getConnection() - build_dict = get_build_dict_db(settings, pkg) +def add_buildlog_main(settings, pkg): + CM3 = connectionManager() + conn3 = CM3.newConnection() + if not conn3.is_connected() is True: + conn3.reconnect(attempts=2, delay=1) + reader=get_conf_settings() + gobs_settings_dict=reader.read_gobs_settings_all() + config_profile = gobs_settings_dict['gobs_config'] + config_id = get_config_id(conn, config_profile) + build_dict = get_build_dict_db(conn3, settings, pkg) if build_dict is None: log_msg = "Package %s:%s is NOT logged." % (pkg.cpv, pkg.repo,) - add_gobs_logs(conn, log_msg, "info", config_profile) - CM.putConnection(conn) + add_gobs_logs(conn3, log_msg, "info", config_id) + conn3.close return build_log_dict = {} build_log_dict = get_buildlog_info(settings, pkg, build_dict) @@ -236,15 +234,15 @@ def add_buildlog_main(settings, pkg, trees): build_log_dict['log_hash'] = log_hash.hexdigest() build_log_dict['logfilename'] = settings.get("PORTAGE_LOG_FILE").split(config_profile)[1] log_msg = "Logfile name: %s" % (settings.get("PORTAGE_LOG_FILE"),) - add_gobs_logs(conn, log_msg, "info", config_profile) - log_id = add_new_buildlog(conn, build_dict, build_log_dict) + add_gobs_logs(conn3, log_msg, "info", config_id) + log_id = add_new_buildlog(conn3, build_dict, build_log_dict) msg = "" # emerge_info_logfilename = settings.get("PORTAGE_LOG_FILE")[:-3] + "emerge_log.log" if log_id is None: os.chmod(settings.get("PORTAGE_LOG_FILE"), 0o664) log_msg = "Package %s:%s is NOT logged." % (pkg.cpv, pkg.repo,) - add_gobs_logs(conn, log_msg, "info", config_profile) + add_gobs_logs(conn3, log_msg, "info", config_id) print("Package %s:%s is NOT logged." % (pkg.cpv, pkg.repo,)) else: # for msg_line in msg: @@ -252,13 +250,12 @@ def add_buildlog_main(settings, pkg, trees): os.chmod(settings.get("PORTAGE_LOG_FILE"), 0o664) # os.chmod(emerge_info_logfilename, 0o664) log_msg = "Package: %s:%s is logged." % (pkg.cpv, pkg.repo,) - add_gobs_logs(conn, log_msg, "info", config_profile) + add_gobs_logs(conn3, log_msg, "info", config_id) print("Package %s:%s is logged." % (pkg.cpv, pkg.repo,)) - CM.putConnection(conn) + conn3.close -def log_fail_queru(build_dict, settings): - config = gobs_settings_dict['gobs_config'] - conn=CM.getConnection() +def log_fail_queru(conn, build_dict, settings): + config_id = build_dict['config_id'] print('build_dict', build_dict) fail_querue_dict = get_fail_querue_dict(conn, build_dict) print('fail_querue_dict', fail_querue_dict) @@ -275,7 +272,6 @@ def log_fail_queru(build_dict, settings): fail_querue_dict['build_job_id'] = build_dict['build_job_id'] fail_querue_dict['fail_type'] = build_dict['type_fail'] update_fail_times(conn, fail_querue_dict) - CM.putConnection(conn) return else: build_log_dict = {} @@ -303,7 +299,6 @@ def log_fail_queru(build_dict, settings): for sum_log_line in sum_build_log_list: summary_error = summary_error + " " + sum_log_line build_log_dict['log_hash'] = '0' - build_dict['config_id'] = get_config_id(conn, config_profile) useflagsdict = {} if build_dict['build_useflags'] == {}: for k, v in build_dict['build_useflags'].iteritems(): @@ -313,9 +308,9 @@ def log_fail_queru(build_dict, settings): else: build_dict['build_useflags'] = None if settings.get("PORTAGE_LOG_FILE") is not None: + config_profile = get_config(conn, config_id) build_log_dict['logfilename'] = settings.get("PORTAGE_LOG_FILE").split(config_profile)[1] os.chmod(settings.get("PORTAGE_LOG_FILE"), 0o224) else: build_log_dict['logfilename'] = "" - log_id = add_new_buildlog(conn, build_dict, build_log_dict) - CM.putConnection(conn) \ No newline at end of file + log_id = add_new_buildlog(conn, build_dict, build_log_dict)