From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QnWcG-0004s3-BV for garchives@archives.gentoo.org; Sun, 31 Jul 2011 14:03:47 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 8A33A21C2DD for ; Sun, 31 Jul 2011 14:03:39 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id D40FB21C0EE for ; Sun, 31 Jul 2011 13:43:29 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5D7A51B4024 for ; Sun, 31 Jul 2011 13:43:29 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id B61513C004 for ; Sun, 31 Jul 2011 13:43:28 +0000 (UTC) From: "Magnus Granberg" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Magnus Granberg" Message-ID: <082e83c77c4368bb1c63c2fdf7e07167cea6b435.zorry@gentoo> Subject: [gentoo-commits] dev/zorry:master commit in: gobs/bin/, gobs/pym/ X-VCS-Repository: dev/zorry X-VCS-Files: gobs/bin/gobs_updatedb gobs/pym/arch.py gobs/pym/categories.py gobs/pym/old_cpv.py gobs/pym/package.py X-VCS-Directories: gobs/bin/ gobs/pym/ X-VCS-Committer: zorry X-VCS-Committer-Name: Magnus Granberg X-VCS-Revision: 082e83c77c4368bb1c63c2fdf7e07167cea6b435 Date: Sun, 31 Jul 2011 13:43:28 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 6a0e298fd15f344c673624dde5f7cd8e commit: 082e83c77c4368bb1c63c2fdf7e07167cea6b435 Author: Magnus Granberg gentoo org> AuthorDate: Sun Jul 31 13:43:09 2011 +0000 Commit: Magnus Granberg gentoo org> CommitDate: Sun Jul 31 13:43:09 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Ddev/zorry.git;a=3D= commit;h=3D082e83c7 fix and clean code for gobs_updatedb --- gobs/bin/gobs_updatedb | 6 +++--- gobs/pym/arch.py | 25 +++++++++++++------------ gobs/pym/categories.py | 26 +++++++++++++++----------- gobs/pym/old_cpv.py | 29 ++++++++++++++++++----------- gobs/pym/package.py | 18 +++++++----------- 5 files changed, 56 insertions(+), 48 deletions(-) diff --git a/gobs/bin/gobs_updatedb b/gobs/bin/gobs_updatedb index a9c8e4a..36b26bd 100755 --- a/gobs/bin/gobs_updatedb +++ b/gobs/bin/gobs_updatedb @@ -28,7 +28,7 @@ from gobs.old_cpv import gobs_old_cpv from gobs.categories import gobs_categories import portage =20 -def init_portage_settings(CM, gobs_settings_dict): +def init_portage_settings(gobs_settings_dict): =09 """ Get the BASE Setup/Config for portage.settings @type: module @@ -101,8 +101,8 @@ def update_cpv_db(mysettings, gobs_settings_dict): def main(): # Main # Init settings for the default config - mysettings =3D init_portage_settings(CM,gobs_settings_dict) - init_arch =3D gobs_arch(CM) + mysettings =3D init_portage_settings(gobs_settings_dict) + init_arch =3D gobs_arch() init_arch.update_arch_db() # Update the cpv db update_cpv_db(mysettings, gobs_settings_dict) diff --git a/gobs/pym/arch.py b/gobs/pym/arch.py index 7e11041..1a26083 100644 --- a/gobs/pym/arch.py +++ b/gobs/pym/arch.py @@ -1,24 +1,25 @@ import portage +from gobs.readconf import get_conf_settings +reader=3Dget_conf_settings() +gobs_settings_dict=3Dreader.read_gobs_settings_all() +# make a CM +from gobs.ConnectionManager import connectionManager +CM=3DconnectionManager(gobs_settings_dict) +#selectively import the pgsql/mysql querys +if CM.getName()=3D=3D'pgsql': + from gobs.pgsql import * =20 class gobs_arch(object): =09 - def __init__(self, CM): - #selective import the pgsql/mysql queries - if CM.getName() is 'pgsql': - from gobs.pgsql import * - self._CM =3D CM - self._conn =3D CM.getConnection() - - def __del__(self): - self._CM.putConnection(self._conn) - def update_arch_db(self): + conn =3D CM.getConnection() # FIXME: check for new keyword # Add arch db (keywords) - if get_arch_db(self._conn) is None: + if get_arch_db(conn) is None: arch_list =3D portage.archlist for arch in arch_list: if arch[0] not in ["~","-"]: arch_list.append("-" + arch) arch_list.append("-*") - add_new_arch_db(self._conn,arch_list) \ No newline at end of file + add_new_arch_db(conn,arch_list) + CM.putConnection(conn) \ No newline at end of file diff --git a/gobs/pym/categories.py b/gobs/pym/categories.py index f9f4367..dae1207 100644 --- a/gobs/pym/categories.py +++ b/gobs/pym/categories.py @@ -1,26 +1,30 @@ #from gobs.text import gobs_text from gobs.text import get_file_text import portage +from gobs.readconf import get_conf_settings +reader=3Dget_conf_settings() +gobs_settings_dict=3Dreader.read_gobs_settings_all() +# make a CM +from gobs.ConnectionManager import connectionManager +CM=3DconnectionManager(gobs_settings_dict) +#selectively import the pgsql/mysql querys +if CM.getName()=3D=3D'pgsql': + from gobs.pgsql import * =20 class gobs_categories(object): =09 - def __init__(self, CM, mysettings): - self._CM =3D CM - self._conn=3DCM.getConnection() + def __init__(self, mysettings): self._mysettings =3D mysettings - if CM.getName() is 'pgsql': - from gobs.pgsql import * -=09 - def __del__(self): - self._CM.putConnection(self._conn) =20 def update_categories_db(self, categories): + conn=3DCM.getConnection() # Update categories_meta in the db categories_dir =3D self._mysettings['PORTDIR'] + "/" + categories + "/= " categories_metadata_xml_checksum_tree =3D portage.checksum.sha256hash(= categories_dir + "metadata.xml")[0] categories_metadata_xml_text_tree =3D get_file_text(categories_dir + "= metadata.xml") - categories_metadata_xml_checksum_db =3D get_categories_checksum_db(sel= f._conn, categories) + categories_metadata_xml_checksum_db =3D get_categories_checksum_db(con= n, categories) if categories_metadata_xml_checksum_db is None: - add_new_categories_meta_sql(self._conn,categories, categories_metadat= a_xml_checksum_tree, categories_metadata_xml_text_tree) + add_new_categories_meta_sql(conn,categories, categories_metadata_xml_= checksum_tree, categories_metadata_xml_text_tree) elif categories_metadata_xml_checksum_db !=3D categories_metadata_xml_= checksum_tree: - update_categories_meta_sql(self._conn,categories, categories_metadata= _xml_checksum_tree, categories_metadata_xml_text_tree) + update_categories_meta_sql(conn,categories, categories_metadata_xml_c= hecksum_tree, categories_metadata_xml_text_tree) + CM.putConnection(conn) diff --git a/gobs/pym/old_cpv.py b/gobs/pym/old_cpv.py index c577033..4923bf7 100644 --- a/gobs/pym/old_cpv.py +++ b/gobs/pym/old_cpv.py @@ -1,15 +1,22 @@ from __future__ import print_function +from gobs.readconf import get_conf_settings +reader=3Dget_conf_settings() +gobs_settings_dict=3Dreader.read_gobs_settings_all() +# make a CM +from gobs.ConnectionManager import connectionManager +CM=3DconnectionManager(gobs_settings_dict) +#selectively import the pgsql/mysql querys +if CM.getName()=3D=3D'pgsql': + from gobs.pgsql import * + class gobs_old_cpv(object): =09 - def __init__(self, CM, myportdb, mysettings): - self._CM =3D CM + def __init__(self, myportdb, mysettings): self._mysettings =3D mysettings self._myportdb =3D myportdb - if CM.getName() is 'pgsql': - from gobs.pgsql import * =20 def mark_old_ebuild_db(self, categories, package, package_id): - conn=3Dself._CM.getConnection() + conn=3DCM.getConnection() ebuild_list_tree =3D sorted(self._myportdb.cp_list((categories + "/" += package), use_cache=3D1, mytree=3DNone)) # Get ebuild list on categories, package in the db ebuild_list_db =3D cp_list_db(conn,package_id) @@ -24,7 +31,7 @@ class gobs_old_cpv(object): if old_ebuild_list !=3D []: for old_ebuild in old_ebuild_list: print("O", categories + "/" + package + "-" + old_ebuild[0]) - self.dbquerys.add_old_ebuild(conn,package_id, old_ebuild_list) + add_old_ebuild(conn,package_id, old_ebuild_list) # Check if we have older no activ ebuilds then 60 days ebuild_old_list_db =3D cp_list_old_db(conn,package_id) # Delete older ebuilds in the db @@ -32,10 +39,10 @@ class gobs_old_cpv(object): for del_ebuild_old in ebuild_old_list_db: print("D", categories + "/" + package + "-" + del_ebuild_old[1]) del_old_ebuild(conn,ebuild_old_list_db) - self._CM.putConnection(conn) + CM.putConnection(conn) =20 def mark_old_package_db(self, package_id_list_tree): - conn=3Dself._CM.getConnection() + conn=3DCM.getConnection() # Get categories/package list from db package_list_db =3D cp_all_db(conn) old_package_id_list =3D [] @@ -59,10 +66,10 @@ class gobs_old_cpv(object): element =3D get_cp_from_package_id(conn,i) print("D", element) del_old_package(conn,del_package_id_old_list) - self._CM.putConnection(conn) + CM.putConnection(conn) =09 def mark_old_categories_db(self): - conn=3Dself._CM.getConnection() + conn=3DCM.getConnection() # Get categories list from the tree and db categories_list_tree =3D self._mysettings.categories categories_list_db =3Dget_categories_db(conn) @@ -79,4 +86,4 @@ class gobs_old_cpv(object): for real_old_categories in categories_old_list: del_old_categories(conn,real_old_categoriess) print("D", real_old_categories) - self._CM.putConnection(conn) \ No newline at end of file + CM.putConnection(conn) \ No newline at end of file diff --git a/gobs/pym/package.py b/gobs/pym/package.py index f240e4e..8d94936 100644 --- a/gobs/pym/package.py +++ b/gobs/pym/package.py @@ -18,7 +18,7 @@ if CM.getName()=3D=3D'pgsql': =20 class gobs_package(object): =20 - def __init__(self, mysettings, CM, myportdb, gobs_settings_dict): + def __init__(self, mysettings, myportdb, gobs_settings_dict): self._mysettings =3D mysettings self._gobs_settings_dict =3D gobs_settings_dict self._myportdb =3D myportdb @@ -41,16 +41,12 @@ class gobs_package(object): # Change config/setup mysettings_setup =3D self.change_config(config_id) myportdb_setup =3D portage.portdbapi(mysettings=3Dmysettings_setup) - # Get cpv from portage with the config - ebuild_match_list =3D myportdb_setup.match(categories + "/" + package= , use_cache=3D1) - latest_ebuild =3D "" + # Get latest cpv from portage with the config + latest_ebuild =3D myportdb_setup.xmatch('bestmatch-visible', categori= es + "/" + package) latest_ebuild_version =3D unicode("") # Check if could get cpv from portage - # and get the lastes ebuild on that config/setup - if ebuild_match_list !=3D []: - for ebuild_match_line in ebuild_match_list: - latest_ebuild =3D ebuild_match_line - # Get the version of cpv + if latest_ebuild !=3D "": + # Get the version of cpv latest_ebuild_version =3D portage.versions.cpv_getversion(latest_ebu= ild) # Get the iuse and use flags for that config/setup init_useflags =3D gobs_use_flags(mysettings_setup, myportdb_setup, l= atest_ebuild) @@ -268,7 +264,7 @@ class gobs_package(object): add_new_metadata(conn,metadataDict) # Get the text in Manifest and update it get_manifest_text =3D get_file_text(pkgdir + "/Manifest") - self._dbquerys.update_manifest_sql(conn,package_id, get_manifest_text= , manifest_checksum_tree) + update_manifest_sql(conn,package_id, get_manifest_text, manifest_chec= ksum_tree) # Add any qa and repoman erros to buildlog qa_error =3D [] init_manifest =3D gobs_manifest(self._mysettings, pkgdir) @@ -280,7 +276,7 @@ class gobs_package(object): # Add the ebuild to the buildqueru table if needed self.add_new_ebuild_buildquery_db(ebuild_id_list, packageDict, config= _cpv_listDict) # Mark or remove any old ebuilds - init_old_cpv =3D gobs_old_cpv(self._CM, self._myportdb, self._mysetti= ngs) + init_old_cpv =3D gobs_old_cpv(self._myportdb, self._mysettings) init_old_cpv.mark_old_ebuild_db(categories, package, package_id) CM.putConnection(conn) =20