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 1Sc0gb-00047X-BG for garchives@archives.gentoo.org; Tue, 05 Jun 2012 20:49:05 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6A42BE0653; Tue, 5 Jun 2012 20:48:53 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 273D9E064E for ; Tue, 5 Jun 2012 20:48:52 +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 36C5F1B4017 for ; Tue, 5 Jun 2012 20:48:52 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id CDDA0E5432 for ; Tue, 5 Jun 2012 20:48:49 +0000 (UTC) From: "Slava Bacherikov" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Slava Bacherikov" Message-ID: <1338917568.8246af3caeb234f9b739683a37ea175d81eb12a2.bacher09@gentoo> Subject: [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/ X-VCS-Repository: proj/gentoo-packages X-VCS-Files: gpackages/apps/packages/scan.py X-VCS-Directories: gpackages/apps/packages/ X-VCS-Committer: bacher09 X-VCS-Committer-Name: Slava Bacherikov X-VCS-Revision: 8246af3caeb234f9b739683a37ea175d81eb12a2 X-VCS-Branch: master Date: Tue, 5 Jun 2012 20:48:49 +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: a38e7774-ce79-41d1-bc32-908f38b54297 X-Archives-Hash: 83ec98e5c53f41f80fc22b7686db1be5 commit: 8246af3caeb234f9b739683a37ea175d81eb12a2 Author: Slava Bacherikov bacher09 org> AuthorDate: Tue Jun 5 17:32:48 2012 +0000 Commit: Slava Bacherikov bacherikov org ua> CommitDate: Tue Jun 5 17:32:48 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gentoo-packag= es.git;a=3Dcommit;h=3D8246af3c Changes in ebuild deletetion --- gpackages/apps/packages/scan.py | 34 ++++++++++++++++++++-------------= - 1 files changed, 20 insertions(+), 14 deletions(-) diff --git a/gpackages/apps/packages/scan.py b/gpackages/apps/packages/sc= an.py index 994adbf..f739c69 100644 --- a/gpackages/apps/packages/scan.py +++ b/gpackages/apps/packages/scan.py @@ -196,7 +196,7 @@ def scan_uses_description(): use_desc_obj.save(force_update =3D True) models.UseFlagDescriptionModel.objects.bulk_create(to_create) =20 -def scanpackages(): +def scanpackages(delete =3D True, force_update =3D False): licenses_cache =3D {} def get_licenses_objects(ebuild): licenses =3D ebuild.licenses @@ -297,33 +297,36 @@ def scanpackages(): update_related_to_ebuild(ebuild, ebuild_object) ebuild_object.save(force_update =3D True) if delete: - models.EbuildModel.objects.exclude(pk__in =3D not_del).delet= e() + models.EbuildModel.objects.filter(package =3D package_object= ).exclude(pk__in =3D not_del).delete() + + def update_package(package, package_object, force_update =3D False): + if package_object.need_update_metadata(package) or force_update: + package_object.herds.clear() + package_object.maintainers.clear() + + if package_object.need_update_ebuilds(package) or force_update: + update_ebuilds(package, package_object) + + package_object.update_info(package) + package_object.save(force_update =3D True) =20 # Load homepages to cache #for homepage in models.HomepageModel.objects.all(): #homepages_cache[homepage.url] =3D homepage existend_categorys =3D [] - existend_packages =3D [] for category in porttree.iter_categories(): + existend_packages =3D [] category_object, category_created =3D models.CategoryModel.objec= ts.get_or_create(category =3D category) existend_categorys.append(category_object.pk) for package in category.iter_packages(): - #print package + print package package_object, package_created =3D models.PackageModel.obje= cts.get_or_create(package =3D package, category =3D category_object) existend_packages.append(package_object.pk) if not package_created: - if package_object.check_or_need_update(package): + if package_object.check_or_need_update(package) or force= _update: print package # need update - if package_object.need_update_metadata(package): - package_object.herds.clear() - package_object.maintainers.clear() - - if package_object.need_update_ebuilds(package): - update_ebuilds(package, package_object) - - package_object.update_info(package) - package_object.save(force_update =3D True) + update_package(package, package_object) else: # not need to update, ebuilds too continue @@ -331,6 +334,9 @@ def scanpackages(): package_object.maintainers.add(*get_maintainers_objects(pack= age)) if package_created: create_ebuilds(package, package_object) + + if delete: + models.PackageModel.objects.filter(category =3D category_obj= ect).exclude(pk__in =3D existend_packages).delete() # del=20 #models.CategoryModel.objects.exclude(pk__in =3D existend_categorys)= .delete() =20