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 1SdQGt-00088z-HW for garchives@archives.gentoo.org; Sat, 09 Jun 2012 18:20:24 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A43A4E0531; Sat, 9 Jun 2012 18:19:51 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 661FDE0531 for ; Sat, 9 Jun 2012 18:19:51 +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 6DAE71B4083 for ; Sat, 9 Jun 2012 18:19:50 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 3A808E543C for ; Sat, 9 Jun 2012 18:19:48 +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: <1339258683.842ed7b061795f548f76b13c3161839d032bdd19.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/models.py gpackages/apps/packages/scan.py X-VCS-Directories: gpackages/apps/packages/ X-VCS-Committer: bacher09 X-VCS-Committer-Name: Slava Bacherikov X-VCS-Revision: 842ed7b061795f548f76b13c3161839d032bdd19 X-VCS-Branch: master Date: Sat, 9 Jun 2012 18:19:48 +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: f4a531a8-3c78-47f9-bdec-029286c5b946 X-Archives-Hash: 1821ba4fa127ff6c78f5f62e241b0e14 commit: 842ed7b061795f548f76b13c3161839d032bdd19 Author: Slava Bacherikov bacher09 org> AuthorDate: Sat Jun 9 16:18:03 2012 +0000 Commit: Slava Bacherikov bacherikov org ua> CommitDate: Sat Jun 9 16:18:03 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gentoo-packag= es.git;a=3Dcommit;h=3D842ed7b0 More refactoring in scan.py --- gpackages/apps/packages/models.py | 1 - gpackages/apps/packages/scan.py | 147 ++++++++++++++++++-------------= ------ 2 files changed, 73 insertions(+), 75 deletions(-) diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/= models.py index dc2147c..713cb70 100644 --- a/gpackages/apps/packages/models.py +++ b/gpackages/apps/packages/models.py @@ -48,7 +48,6 @@ class MaintainerModel(AbstractDateTimeModel): =20 name =3D models.CharField(max_length =3D 255, blank =3D True, null =3D= True) email =3D models.EmailField(unique =3D True) - role =3D models.TextField(blank =3D True, null =3D True) =20 objects =3D managers.MaintainerManager() =20 diff --git a/gpackages/apps/packages/scan.py b/gpackages/apps/packages/sc= an.py index db9c0e6..d0f476e 100644 --- a/gpackages/apps/packages/scan.py +++ b/gpackages/apps/packages/scan.py @@ -66,7 +66,8 @@ def _get_items(items_list, Model, field_name, cache_var= ): # Getting from cache items_objects, geted_items =3D _get_from_cache(cache_var, items_set) # Getting from database - queryset, geted =3D _get_from_database_and_update_cache(Model, field= _name, items_set - geted_items, cache_var) + queryset, geted =3D _get_from_database_and_update_cache(Model, field= _name,=20 + items_set - geted_items, cache_var) if queryset is None: return items_objects geted_items =3D geted_items | geted @@ -75,7 +76,8 @@ def _get_items(items_list, Model, field_name, cache_var= ): items_objects.extend(queryset) # Create not existend items fast using bulk_create, works only in dj= ango 1.4 or gt need_create =3D list(items_set - geted_items) - created, geted =3D _create_objects_and_update_cache(Model, field_nam= e, need_create, cache_var) + created, geted =3D _create_objects_and_update_cache(Model, field_nam= e,=20 + need_create, cache= _var) if created is None: return items_objects items_objects.extend(created) @@ -281,76 +283,73 @@ class Scanner(object): def clean_keywords_object(self, ebuild_object): models.Keyword.objects.filter(ebuild =3D ebuild_object).delete() =20 - def scanpackages(self, porttree, porttree_obj, delete =3D True, - force_update =3D False, update_cache =3D True, use_= cache =3D True): - - =20 - - - def add_related_to_ebuild(ebuild, ebuild_object): - # Add licenses - ebuild_object.licenses.add(*self.get_licenses_objects(ebuild= )) - ebuild_object.use_flags.add(*self.get_uses_objects(ebuild)) - ebuild_object.homepages.add(*self.get_homepages_objects(ebui= ld)) - self.create_keywords_objects(ebuild, ebuild_object) - =20 - def clear_related_to_ebuild(ebuild_object): - ebuild_object.licenses.clear() - ebuild_object.use_flags.clear() - ebuild_object.homepages.clear() - self.clean_keywords_object(ebuild_object) - - def update_related_to_ebuild(ebuild, ebuild_object): - clear_related_to_ebuild(ebuild_object) - add_related_to_ebuild(ebuild, ebuild_object) - - def create_ebuilds(package, package_object): - for ebuild in package.iter_ebuilds(): - ebuild_object =3D models.EbuildModel() - ebuild_object.init_by_ebuild(ebuild) - ebuild_object.package =3D package_object - # To Add some related objects it should have pk - ebuild_object.save(force_insert=3DTrue) - add_related_to_ebuild(ebuild, ebuild_object) - - def update_ebuilds(package, package_object, delete =3D True): - not_del =3D [] - for ebuild in package.iter_ebuilds(): - ebuild_object, ebuild_created =3D models.EbuildModel.obj= ects.get_or_create(ebuild =3D ebuild, package =3D package_object) - not_del.append(ebuild_object.pk) - if ebuild_created: - add_related_to_ebuild(ebuild, ebuild_object) - continue - if ebuild_object.check_or_need_update(ebuild): - ebuild_object.update_by_ebuild(ebuild) - update_related_to_ebuild(ebuild, ebuild_object) - ebuild_object.save(force_update =3D True) - if delete: - models.EbuildModel.objects.filter(package =3D package_ob= ject).exclude(pk__in =3D not_del).delete() - - def clear_related_to_package(package_object): - package_object.herds.clear() - package_object.maintainers.clear() - =20 - - def add_related_to_package(package, package_object): - package_object.herds.add(*self.get_herds_objects(package)) - package_object.maintainers.add(*self.get_maintainers_objects= (package)) - - def update_related_to_package(package, package_object): - clear_related_to_package(package_object) - add_related_to_package(package, package_object) - - def update_package(package, package_object, force_update =3D Fal= se): - if package_object.need_update_metadata(package) or force_upd= ate: - #Updating related objects to package - update_related_to_package(package, package_object) + def add_related_to_ebuild(self, ebuild, ebuild_object): + # Add licenses + ebuild_object.licenses.add(*self.get_licenses_objects(ebuild)) + ebuild_object.use_flags.add(*self.get_uses_objects(ebuild)) + ebuild_object.homepages.add(*self.get_homepages_objects(ebuild)) + self.create_keywords_objects(ebuild, ebuild_object) + =20 + def clear_related_to_ebuild(self, ebuild_object): + ebuild_object.licenses.clear() + ebuild_object.use_flags.clear() + ebuild_object.homepages.clear() + self.clean_keywords_object(ebuild_object) + + def update_related_to_ebuild(self, ebuild, ebuild_object): + self.clear_related_to_ebuild(ebuild_object) + self.add_related_to_ebuild(ebuild, ebuild_object) + + def create_ebuilds(self, package, package_object): + for ebuild in package.iter_ebuilds(): + ebuild_object =3D models.EbuildModel() + ebuild_object.init_by_ebuild(ebuild) + ebuild_object.package =3D package_object + # To Add some related objects it should have pk + ebuild_object.save(force_insert=3DTrue) + self.add_related_to_ebuild(ebuild, ebuild_object) + + def clear_related_to_package(self, package_object): + package_object.herds.clear() + package_object.maintainers.clear() + =20 =20 - if package_object.need_update_ebuilds(package) or force_upda= te: - update_ebuilds(package, package_object) + def add_related_to_package(self, package, package_object): + package_object.herds.add(*self.get_herds_objects(package)) + package_object.maintainers.add(*self.get_maintainers_objects(pac= kage)) + + def update_related_to_package(self, package, package_object): + self.clear_related_to_package(package_object) + self.add_related_to_package(package, package_object) + + def update_ebuilds(self, package, package_object, delete =3D True): + not_del =3D [] + for ebuild in package.iter_ebuilds(): + ebuild_object, ebuild_created =3D models.EbuildModel.objects= .get_or_create(ebuild =3D ebuild, package =3D package_object) + not_del.append(ebuild_object.pk) + if ebuild_created: + self.add_related_to_ebuild(ebuild, ebuild_object) + continue + if ebuild_object.check_or_need_update(ebuild): + ebuild_object.update_by_ebuild(ebuild) + self.update_related_to_ebuild(ebuild, ebuild_object) + ebuild_object.save(force_update =3D True) + if delete: + 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: + #Updating related objects to package + self.update_related_to_package(package, package_object) + + if package_object.need_update_ebuilds(package) or force_update: + self.update_ebuilds(package, package_object) + + package_object.update_info(package) + package_object.save(force_update =3D True) =20 - package_object.update_info(package) - package_object.save(force_update =3D True) + def scanpackages(self, porttree, porttree_obj, delete =3D True, + force_update =3D False, update_cache =3D True, use_= cache =3D True): =20 # Load homepages to cache #for homepage in models.HomepageModel.objects.all(): @@ -368,7 +367,7 @@ class Scanner(object): #val =3D cache_dict[key] #if val is not None and val =3D=3D package.manifest_= sha1: #continue - print('%s [%s]' % (str(package).ljust(44), porttree)) + print('%-44s [%s]' % (package, porttree)) package_object, package_created =3D models.PackageModel.= objects.only('changelog_hash', 'manifest_hash', 'metadata_hash') \ .get_or_create(package =3D package, category= =3D category_object, repository =3D porttree_obj) #if update_cache: @@ -379,12 +378,12 @@ class Scanner(object): if not package_created: if package_object.check_or_need_update(package) or f= orce_update: # need update - update_package(package, package_object) + self.update_package(package, package_object) =20 continue # if package_created: - add_related_to_package(package, package_object) - create_ebuilds(package, package_object) + self.add_related_to_package(package, package_object) + self.create_ebuilds(package, package_object) =20 if delete: models.PackageModel.objects.filter(category =3D category= _object, repository =3D porttree_obj).exclude(pk__in =3D existend_package= s).delete()