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 76B331381F3 for ; Thu, 25 Apr 2013 16:44:41 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 970C3E0BAE; Thu, 25 Apr 2013 16:44:34 +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 BE4E6E0BAD for ; Thu, 25 Apr 2013 16:44:28 +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 B817633DF51 for ; Thu, 25 Apr 2013 16:44:22 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id B695AE4405 for ; Thu, 25 Apr 2013 16:44:19 +0000 (UTC) From: "André Erdmann" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "André Erdmann" Message-ID: <1366901816.632a4ef48b9c09c2a5714cf85a2238f7254eac40.dywi@gentoo> Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/pkgdir/metadata/ X-VCS-Repository: proj/R_overlay X-VCS-Files: roverlay/overlay/pkgdir/metadata/__init__.py X-VCS-Directories: roverlay/overlay/pkgdir/metadata/ X-VCS-Committer: dywi X-VCS-Committer-Name: André Erdmann X-VCS-Revision: 632a4ef48b9c09c2a5714cf85a2238f7254eac40 X-VCS-Branch: master Date: Thu, 25 Apr 2013 16:44:19 +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: 2e9ed9fd-d510-487c-b36e-e5cea69a65f3 X-Archives-Hash: e479d20ef5d2f17e61e53f866d9c1ae2 commit: 632a4ef48b9c09c2a5714cf85a2238f7254eac40 Author: André Erdmann mailerd de> AuthorDate: Thu Apr 25 14:56:56 2013 +0000 Commit: André Erdmann mailerd de> CommitDate: Thu Apr 25 14:56:56 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=632a4ef4 metadata creation: use data from older packages Metadata creation will now use "older" packages (older by version) if there's no package with enough information and a higher version available. --- roverlay/overlay/pkgdir/metadata/__init__.py | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-) diff --git a/roverlay/overlay/pkgdir/metadata/__init__.py b/roverlay/overlay/pkgdir/metadata/__init__.py index fb6f374..2ed8686 100644 --- a/roverlay/overlay/pkgdir/metadata/__init__.py +++ b/roverlay/overlay/pkgdir/metadata/__init__.py @@ -22,6 +22,8 @@ USE_FULL_DESCRIPTION = True class MetadataJob ( object ): """R package description data -> metadata.xml interface.""" + DATA_KEYS = frozenset (( 'Description', 'Title' )) + def __init__ ( self, filepath, logger ): """Initializes a MetadataJob. @@ -48,8 +50,17 @@ class MetadataJob ( object ): arguments: * package_info -- """ - if package_info.has ( 'desc_data' ) and \ - package_info.compare_version ( self._package_info ) > 0: + + if package_info.compare_version ( self._package_info ) > 0: + desc_data = package_info.get ( + 'desc_data', fallback_value=None, do_fallback=True + ) + if desc_data and any ( + desc_data.get ( key, None ) for key in self.DATA_KEYS + ): + # another solution would be to merge data from several + # PackageInfo instances (while preferring pkgs with higher + # versions), doesn't make sense for one metadata field, though self._package_info = package_info # --- end of update (...) --- @@ -58,6 +69,8 @@ class MetadataJob ( object ): self._package_info = None for package_info in package_info_iter: self.update ( package_info ) + + return self._package_info # --- end of update_using_iterable (...) --- def _create ( self ):